diff --git a/.azure-pipelines-preproduction/package-lock.json b/.azure-pipelines-preproduction/package-lock.json
index 5a137fd25979..10fc277e7713 100644
--- a/.azure-pipelines-preproduction/package-lock.json
+++ b/.azure-pipelines-preproduction/package-lock.json
@@ -3448,9 +3448,9 @@
}
},
"lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "version": "4.17.19",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
+ "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
"dev": true
},
"lodash.get": {
@@ -3633,9 +3633,9 @@
}
},
"minimist": {
- "version": "1.2.0",
- "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.0.tgz",
- "integrity": "sha1-o1AIsg9BOD7sH7kU9M1d95omQoQ=",
+ "version": "1.2.5",
+ "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz",
+ "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==",
"dev": true
},
"mixin-deep": {
@@ -3835,9 +3835,9 @@
}
},
"node-fetch": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
- "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"dev": true
},
"node-object-hash": {
diff --git a/.azure-pipelines-preproduction/package.json b/.azure-pipelines-preproduction/package.json
index e7d2d90308ab..ecc81e883361 100644
--- a/.azure-pipelines-preproduction/package.json
+++ b/.azure-pipelines-preproduction/package.json
@@ -25,7 +25,8 @@
"ts-node": "^8.1.0",
"tslib": "^1.10.0",
"typescript": "3.5.3",
- "prettier": "^1.18.2"
+ "prettier": "^1.18.2",
+ "minimist": "^1.2.3"
},
"homepage": "https://github.com/azure/azure-rest-api-specs",
"repository": {
diff --git a/.azure-pipelines/BreakingChange.yml b/.azure-pipelines/BreakingChange.yml
deleted file mode 100644
index 466349bd3bfd..000000000000
--- a/.azure-pipelines/BreakingChange.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-jobs:
-- job: "BreakingChange"
- pool:
- vmImage: 'Ubuntu 16.04'
- steps:
- - script: 'scripts/install-dotnet.sh'
- displayName: 'Install .Net'
- - task: Npm@1
- displayName: 'npm install'
- inputs:
- verbose: false
- - script: 'npm run tsc && node scripts/breaking-change.js'
- displayName: 'Breaking Changes'
\ No newline at end of file
diff --git a/.azure-pipelines/SDKAutomation.yml b/.azure-pipelines/SDKAutomation.yml
index da696e39c823..4cd770c7861d 100644
--- a/.azure-pipelines/SDKAutomation.yml
+++ b/.azure-pipelines/SDKAutomation.yml
@@ -20,7 +20,6 @@ jobs:
variables:
NODE_OPTIONS: '--max-old-space-size=8192'
- BLOB_STORAGE_PREFIX: sdkautomation-pipeline
SPEC_REPO: $(Build.Repository.Name)
PR_NUMBER: $(System.PullRequest.PullRequestNumber)
BUILD_ID: $(Build.BuildId)
@@ -42,6 +41,9 @@ jobs:
SDK_REPO_NAME: azure-sdk-for-go
Trenton:
SDK_REPO_NAME: azure-sdk-for-trenton
+ ${{ if eq(variables['ENABLE_RESOURCE_MANAGER_SCHEMAS'], 'true') }}:
+ Schema:
+ SDK_REPO_NAME: azure-resource-manager-schemas
steps:
- checkout: none
- script: |
@@ -62,13 +64,16 @@ jobs:
displayName: Pull SDK Automation Image
- script: |
docker run \
+ -e BLOB_PROXY_PREFIX \
+ -e BLOB_STORAGE_PREFIX \
+ -e BLOB_STORAGE_IS_PUBLIC \
+ -e BLOB_DOWNLOAD_COMMAND \
-e BLOB_STORAGE_NAME \
-e BLOB_STORAGE_KEY \
-e GITHUB_COMMENT_AUTHOR_NAME \
-e GITHUBAPP_ID \
-e GITHUBAPP_PRIVATE_KEY \
-e NODE_OPTIONS \
- -e BLOB_STORAGE_PREFIX \
-e SPEC_REPO \
-e PR_NUMBER \
-e SDK_REPO_NAME \
@@ -78,6 +83,10 @@ jobs:
env:
BLOB_STORAGE_NAME: $(blob-storage-name)
BLOB_STORAGE_KEY: $(blob-storage-key)
+ BLOB_STORAGE_PREFIX: $(blob-storage-prefix)
+ BLOB_PROXY_PREFIX: $(blob-proxy-prefix)
+ BLOB_STORAGE_IS_PUBLIC: $(blob-is-public)
+ BLOB_DOWNLOAD_COMMAND: $(blob-download-command)
GITHUB_COMMENT_AUTHOR_NAME: $(github-comment-author-name)
GITHUBAPP_ID: $(githubapp-id)
GITHUBAPP_PRIVATE_KEY: $(githubapp-private-key)
diff --git a/.azure-pipelines/azure-pipelines-data-container.yml b/.azure-pipelines/azure-pipelines-data-container.yml
new file mode 100644
index 000000000000..97877b083e77
--- /dev/null
+++ b/.azure-pipelines/azure-pipelines-data-container.yml
@@ -0,0 +1,42 @@
+schedules:
+- cron: "0 0 * * *"
+ displayName: Daily build
+ branches:
+ include:
+ - master
+ always: true
+
+pool:
+ vmImage: 'Ubuntu-16.04'
+
+variables:
+ IMAGE_TAG_PREFIX: $[format('1.0.{0:HHm}', pipeline.startTime)]
+
+steps:
+- task: Docker@2
+ displayName: Login to production ACR
+ inputs:
+ command: login
+ containerRegistry: $(CONTAINER_REGISTRY_SERVICE_CONNECTION)
+
+- task: Docker@2
+ displayName: Login to dogfood ACR
+ inputs:
+ command: login
+ containerRegistry: $(DOGFOOD_CONTAINER_REGISTRY_SERVICE_CONNECTION)
+
+- task: CopyFiles@2
+ inputs:
+ SourceFolder: $(Build.SourcesDirectory)
+ contents: .git/**
+ targetFolder: $(Build.SourcesDirectory)/scripts/datacontainer
+
+- task: Docker@2
+ displayName: Build and Push
+ inputs:
+ command: buildAndPush
+ Dockerfile: scripts/datacontainer/Dockerfile
+ repository: $(CONTAINER_REGISTRY_REPOSITORY_NAME)
+ tags: |
+ latest
+ $(IMAGE_TAG_PREFIX)$(Build.BuildNumber)
diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md
index b8293d9af7b5..3c2cfcde11b6 100644
--- a/.github/PULL_REQUEST_TEMPLATE.md
+++ b/.github/PULL_REQUEST_TEMPLATE.md
@@ -2,19 +2,27 @@
### Contribution checklist:
+- [ ] I commit to follow the [Breaking Change Policy](http://aka.ms/bcforapi) of “no breaking changes
- [ ] I have reviewed the [documentation](https://aka.ms/ameonboard) for the workflow.
-- [ ] [Validation tools](https://aka.ms/swaggertools) were run on swagger spec(s) and have all been fixed in this PR. [How to fix?](https://aka.ms/ci-fix)
+- [ ] [Validation tools](https://aka.ms/swaggertools) were run on swagger spec(s) and errors have all been fixed in this PR. [How to fix?](https://aka.ms/ci-fix)
If any further question about AME onboarding or validation tools, please view the [FAQ](https://aka.ms/faqinprreview).
### ARM API Review Checklist
-- [ ] Service team MUST add the "**WaitForARMFeedback**" label if the management plane API changes fall into one of the below categories.
- - adding/removing APIs.
- - adding/removing properties.
- - adding/removing API-version.
- - adding a new service in Azure.
+- [ ] Ensure to check this box if one of the following scenarios meet updates in the PR, so that label “WaitForARMFeedback” will be added automatically to involve ARM API Review. Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs, all “removals” and “adding a new property” no more require ARM API review.
+ - Adding new API(s)
+ - Adding a new API version
+ - Adding a new service
-Failure to comply may result in delays for manifest application. Note this does not apply to data plane APIs.
+- [ ] If you are blocked on ARM review and want to get the PR merged with urgency, please get the ARM oncall for reviews (*RP Manifest Approvers* team under Azure Resource Manager service) from IcM and reach out to them.
-- [ ] If you are blocked on ARM review and want to get the PR merged urgently, please get the ARM oncall for reviews (RP Manifest Approvers team under Azure Resource Manager service) from IcM and reach out to them.
-Please follow the link to find more details on [API review process](https://aka.ms/SwaggerPRReview).
+### Breaking Change Review Checklist
+If there are following updates in the PR, ensure to request an approval from API Review Board as defined in the [Breaking Change Policy](http://aka.ms/bcforapi).
+
+- [ ] Removing API(s) in stable version
+- [ ] Removing properties in stable version
+- [ ] Removing API version(s) in stable version
+- [ ] Updating API in stable version with Breaking Change Validation errors
+- [ ] Updating API(s) in preview over 1 year
+
+Please follow the link to find more details on [PR review process](https://aka.ms/SwaggerPRReview).
\ No newline at end of file
diff --git a/.github/assignment.yml b/.github/assignment.yml
deleted file mode 100644
index e32d1ce22ba2..000000000000
--- a/.github/assignment.yml
+++ /dev/null
@@ -1,154 +0,0 @@
----
-- rule:
- # data-plane PR
- paths:
- - "specification/**/data-plane/**"
- reviewers:
- - anuchandy
- - jhendrixMSFT
- - lmazuel
- - tjprescott
-
-- rule:
- paths:
- - "specification/network/**"
- reviewers:
- - lirenhe
- - MyronFanQiu
-
-- rule:
- paths:
- - "specification/@(applicationinsights|operationalinsights)/**"
- reviewers:
- - MyronFanQiu
-
-- rule:
- paths: "specification/compute/**"
- reviewers:
- - ArcturusZhang
- - fengzhou-msft
- - yungezz
-
-- rule:
- paths: "specification/resources/**"
- reviewers:
- - raych1
-
-- rule:
- paths:
- - "specification/machinelearningservices/**"
- reviewers:
- - ArcturusZhang
-
-- rule:
- paths:
- - "specification/@(azureactivedirectory|appplatform)/**"
- reviewers:
- - njuCZ
-
-- rule:
- paths:
- - "specification/authorization/**"
- reviewers:
- - qianwens
- - yungezz
-
-- rule:
- paths:
- - "specification/datafactory/**"
- reviewers:
- - qianwens
-
-- rule:
- paths:
- - "specification/monitor/**"
- reviewers:
- - weidongxu-microsoft
- - MyronFanQiu
-
-- rule:
- paths:
- - "specification/storage/**"
- reviewers:
- - qianwens
- - Juliehzl
-
-- rule:
- paths: "specification/mediaservices/**"
- reviewers:
- - allenjzhang
-
-- rule:
- paths:
- - "specification/@(keyvault|notificationhubs)/**"
- - "specification/@(databricks|containerregistry)/**"
- reviewers:
- - fengzhou-msft
-
-- rule:
- paths:
- - "specification/@(containerservice|containerinstance)/**"
- reviewers:
- - NullMDR
- - fengzhou-msft
- - yungezz
-
-- rule:
- paths:
- - "specification/mixedreality/**"
- reviewers:
- - leni-msft
-
-- rule:
- paths:
- - "specification/portal/**"
- reviewers:
- - NullMDR
-
-- rule:
- paths:
- - "specification/web/**"
- reviewers:
- - weidongxu-microsoft
-
-- rule:
- paths:
- - "documentation/**"
- reviewers:
- - josefree
- - akning-ms
-
-- rule:
- paths:
- - "**/package.json"
- - ".github/**"
- - "**/azure-pipelines.yml"
- - ".azure-pipelines/**"
- - ".azure-pipelines-preproduction/**"
- reviewers:
- - akning-ms
- - NullMDR
- - raych1
-
-- rule:
- # manager-plane PR
- paths:
- - "**"
- reviewers:
- - yungezz
- - zikalino
- - erich-wang
- - NullMDR
- - raych1
- - lirenhe
- - weidongxu-microsoft
- - ArcturusZhang
- - xccc-msft
- - ChenTanyi
- - fengzhou-msft
- - njuCZ
- - akning-ms
- - markcowl
- - leni-msft
- - qianwens
- - ruowan
diff --git a/.github/issue_assignment.yml b/.github/issue_assignment.yml
index a6bd179385b2..a33797d7ddb7 100644
--- a/.github/issue_assignment.yml
+++ b/.github/issue_assignment.yml
@@ -3,7 +3,6 @@
booleanFilterExpression: "needs-triage"
assignees:
- yungezz
- - zikalino
- erich-wang
- NullMDR
- raych1
@@ -20,3 +19,4 @@
- qianwens
- ruowan
- MyronFanQiu
+ - jianyexi
diff --git a/.github/pull_request_assignment.yml b/.github/pull_request_assignment.yml
index e32d1ce22ba2..6f86ab255279 100644
--- a/.github/pull_request_assignment.yml
+++ b/.github/pull_request_assignment.yml
@@ -13,8 +13,8 @@
paths:
- "specification/network/**"
reviewers:
- - lirenhe
- MyronFanQiu
+ - lirenhe
- rule:
paths:
@@ -96,6 +96,7 @@
- rule:
paths:
- "specification/mixedreality/**"
+ - "specification/hdinsight/**"
reviewers:
- leni-msft
@@ -136,7 +137,6 @@
- "**"
reviewers:
- yungezz
- - zikalino
- erich-wang
- NullMDR
- raych1
@@ -152,3 +152,4 @@
- leni-msft
- qianwens
- ruowan
+ - jianyexi
diff --git a/.github/reviewer.yml b/.github/reviewer.yml
deleted file mode 100644
index 6e53458ab4ef..000000000000
--- a/.github/reviewer.yml
+++ /dev/null
@@ -1,13 +0,0 @@
-# This file is openapi-email-bot to store reviewer email address.
----
-- group:
- name: default
- users:
- - githubID: raych1
- email: raychen@microsoft.com
- - githubID: MyronFanQiu
- email: fanqiu@microsoft.com
- - githubID: yungezz
- email: yungez@microsoft.com
- - githubID: lirenhe
- email: Renhe.Li@microsoft.com
diff --git a/.github/sla.yml b/.github/sla.yml
index f0ce3592d482..7d1f1e347267 100644
--- a/.github/sla.yml
+++ b/.github/sla.yml
@@ -67,7 +67,7 @@
- time
args:
limit: 72h
- booleanFilterExpression: (Reviewed-ChangesRequired||ARMChangeRequest)
+ booleanFilterExpression: (Reviewed-ChangesRequired||ARMChangesRequested)
message: '
Dear PR author,
The PR Reviewer has commented on your PR ${URL} , putting on the label "Reviewed-ChangesRequired" or "ARMChangeRequest". Please check out the comment by clicking the PR link attached previously, and update your commits accordingly.
Please ensure to remove "Reviewed-ChangesRequired" or "ARMChangeRequest" label, after you complete updates and comment back. If you need ARM board or swagger reviewer revisit your PR, please label the PR with "WaitForARMRevisit" and "WaitForReviewRevisit" respectively.
Quick info.
DO NOT REPLY: This is an automated email. If you have any questions, please send an email to the Swagger and Tools Team (vscswagger@microsoft.com).
Best regards,
Swagger and Tools Team, Azure Management Experience
'
subject: "Action Required: Please update your PR ${URL}"
to: ${AUTHOR}
@@ -84,3 +84,18 @@
subject: "Action Required: Please respond to issue ${URL}"
to: ${ASSIGNEE}
cc: vscswagger@microsoft.com
+
+- scheduleTask:
+ action: sendEmail
+ scope: pull_request
+ name: "send email given path change"
+ trigger:
+ - path
+ args:
+ message: 'You have just completed the first step towards onboarding your API change to the Compute Management library.
We (the CPlatSDK/PowerShell team) manage the Compute library's API and SDK for the following clients: Swagger (REST api), .NET SDK, and Azure PowerShell.
You've just opened a PR making changes in the Compute Management Library's path of the Azure REST Api Specs repository.
What's next?
- Your api specs need to be reviewed and approved by us and the ARM team
- Make sure you that can generate the .NET SDK from your API specs using the Autorest tool (NET SDK autogeneration)
- While your specs are getting reviewed, you should be working on the .NET SDK. (SDK repo)
- Once you generate the .NET SDK, you need to create the SDK tests and perform recordings and playbacks. (NET SDK testing)
- With the newly generated SDK with tests, you can make a pull request to the SDK repository.
Make sure to add a reference to your Swagger pull request in the comments.
- [If applicable] At this stage, you can get started on the Azure PowerShell part.
- All you need to do is send a design doc of any change/new Azure PowerShell cmdlet related to your api by creating an issue with your design here.
Then, send an email to azdevxpsdr@microsoft.com with the issue number and cc our dl (cplatsdkdev@microsoft.com) on the email, so we can leave comments on your design doc as well. - Once your PowerShell cmdlet design has been approved, send an email to our team
We will implement and test the PowerShell cmdlet following the approved design. We will then make a pull request to the appropriate repository
- [If applicable] You can also get started on any Azure CLI module or extension for your API change. Find more information about next steps on that process here.
- To view the full CPlat SDK PowerShell API onboarding wiki, please visit aka.ms/cplatsdk
This email was automatically sent. Please send an email to cplatsdkdev@microsoft.com if you have any questions.
'
+ targetPaths:
+ - "specification/compute/resource-manager/Microsoft.Compute/**"
+ subject: "[Action Required] CPlat Swagger Pull Request opened: Next steps"
+ to: ${AUTHOR}
+ cc:
+ - cplatsdkdev@microsoft.com
diff --git a/CODEOWNERS b/CODEOWNERS
index c5db75e8217f..c7a94e485dbb 100644
--- a/CODEOWNERS
+++ b/CODEOWNERS
@@ -10,12 +10,12 @@
/specification/billing/ @wilcobmsft
/specification/cdn/ @csmengwan @injyzarif @prakharsharma10
/specification/cognitiveservices/ @felixwa @yangyuan
-/specification/compute/ @hyonholee @mabhard @danielli90 @smotwani @ppatwa @vikramd-ms @savyasachisamal @yunusm @ZhidongPeng @nkuchta @maheshnemichand @najams @changov
+/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/ @samkreter
+/specification/containerinstance/ @novinc
/specification/containerregistry/ @djyou
/specification/containerservice/ @yangl900
-/specification/cosmos-db/ @dmakwana
+/specification/cosmos-db/ @dmakwana @MehaKaushik @wmengmsft @shurd
/specification/customer-insights/ @tjlvtao
/specification/datafactory/ @zhangyd2015
/specification/datalake-analytics/ @ro-joowan
@@ -43,7 +43,7 @@
/specification/mobileengagement/ @pshrosbree
/specification/monitor/ @gucalder
/specification/mysql/ @qingqingyuan
-/specification/network/ @MikhailTryakhov @number213 @solhaile @v-shhatt
+/specification/network/ @MikhailTryakhov
/specification/notificationhubs/ @amolr @smithab
/specification/operationalinsights/ @sw47
/specification/operationsmanagement/ @dashimi16
@@ -65,8 +65,9 @@
/specification/service-map/ @daveirwin1
/specification/servicebus/ @sazeesha @v-ajnava
/specification/servicefabric/ @juhacket @samedder
-/specification/sql/ @dnayantara @jaredmoo @nathannfan
-/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft @kasobol-msft
+/specification/sql/ @jamestao @bcham
+/specification/storage/ @blueww @jasonyang-msft @xiaonlimsft
+/specification/storage/data-plane/ @kasobol-msft @seanmcc-msft
/specification/storageimportexport/ @leoz-ms
/specification/storagesync/ @ankushbindlish2
/specification/storsimple8000series/ @manaas-microsoft
@@ -74,5 +75,5 @@
/specification/subscriptions/ @navysingla
/specification/timeseriesinsights/ @sandshadow
/specification/trafficmanager/ @allencal @hrkulkarmsft
-/specification/web/ @lukaszstem @naveedaz @nking92
+/specification/web/ @naveedaz @Azure/azure-app-service-control-plane
/profile/ @shahabhijeet
diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index 99db62225099..aeec700c1f96 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -23,7 +23,6 @@ jobs:
- template: .azure-pipelines/Semantic.yml
- template: .azure-pipelines/Avocado.yml
- template: .azure-pipelines/ModelValidation.yml
-- template: .azure-pipelines/BreakingChange.yml
- template: .azure-pipelines/LintDiff.yml
- template: .azure-pipelines/NetworkValidation.yml
- template: .azure-pipelines/Spellcheck.yml
diff --git a/cSpell.json b/cSpell.json
index 8cf7fe1c77ee..207203bfb932 100644
--- a/cSpell.json
+++ b/cSpell.json
@@ -2,6 +2,7 @@
"version": "0.1",
"language": "en",
"words": [
+ "Creds"
],
"dictionaryDefinitions": [
{
@@ -88,6 +89,84 @@
"Ochestrator"
]
},
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
+ {
+ "filename": "**/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json",
+ "words": [
+ "azpodpolicy"
+ ]
+ },
{
"filename": "**/specification/containerregistry/data-plane/Microsoft.ContainerRegistry/preview/2018-08-10/containerregistry.json",
"words": [
diff --git a/custom-words.txt b/custom-words.txt
index 626e14de791b..58407c721c65 100644
--- a/custom-words.txt
+++ b/custom-words.txt
@@ -16,6 +16,7 @@ accountid
accountname
ACLs
aclspec
+actionplans
acquisitionid
acrapi
activityruns
@@ -35,6 +36,7 @@ adminmanagement
ADTO
adultscore
affinitized
+AFRINIC
agentpool
aggregatedcost
AHUB
@@ -57,6 +59,7 @@ Annotatable
anomalydetector
anomalyfinder
APAC
+APACHEAVRO
API's
apim
apimanagement
@@ -92,6 +95,7 @@ apimtenant
apimusers
apimversionsets
apitoken
+APNIC
APNS
appconfig
appid
@@ -100,6 +104,9 @@ applynetworkconfigurationupdates
appservice
appsettings
appteststorage
+ARIN
+ABGRABGR
+ARGBARGB
Arjun
armtemplates
arpa
@@ -114,12 +121,14 @@ aspnet
asyncinfo
asyncoperation
atascada
+Auditd
australiaeast
australiasoutheast
authenticatable
Authenticode
authorityURL
authorizationrules
+authpriv
authprovider
authproviders
authsettings
@@ -145,8 +154,10 @@ autoscaling
Avro
avrodeflate
AZFW
+AZNB
azns
azpkg
+azpodpolicy
azureaccounts
azureactivedirectory
azureblob
@@ -184,6 +195,7 @@ Baidu
bangla
Bahasa
baremetal
+baremetalinfrastructure
BATCHAI
batchmanaged
BAYESIANOPTIMIZATION
@@ -191,6 +203,10 @@ BCDR
BCWG
beider
Bfor
+bfqt
+BGRA
+BGRABGRA
+BGRBGR
bigint
Bigram
bigrams
@@ -207,6 +223,7 @@ bingspellcheck
bingvideosearch
bingvisualsearch
bingwebsearch
+Bioconductor
Bitbucket
Bitlocker
bitness
@@ -230,6 +247,7 @@ brazilsouth
browsable
bruceper
Bsaling
+Burstable
BYOC
BYOK
BYOL
@@ -259,6 +277,7 @@ certificatesdelete
Certificatethumbprint
certverify
chainer
+changepoint
changestate
CHECKACCESS
checkmark
@@ -268,6 +287,7 @@ CIDR
CIDRs
CIFS
ciphertext
+CISCOASA
claimCondition
claimType
clfs
@@ -278,6 +298,7 @@ clientgroup
clientlib
clipart
CLIs
+CLOGFILE
Cloneability
Cloneable
closedlist
@@ -338,6 +359,7 @@ costmanagement
Couchbase
cpim
CPIM
+Cran
creatable
createconsumergroup
createorupdate
@@ -493,6 +515,7 @@ endpointkeys
endpointname
endswith
endtime
+endTime
Enein
engagementfabric
endzone
@@ -560,6 +583,8 @@ fileservers
fileshare
Filestream
filesystems
+fileuploaderr
+fileuploadout
fileurl
findsimilars
findsquare
@@ -585,6 +610,7 @@ GC'd
GCMAES
gdpr
genderless
+generatelivetoken
generateverificationcode
generatevpnclientpackage
generatevpnprofile
@@ -761,6 +787,7 @@ jumpbox
jwts
kafkarest
Kaliningrad
+kbid
Kbps
KECA
kernelspec
@@ -794,6 +821,7 @@ l'avion
labaccounts
labelset
labservices
+LACNIC
Lajolla
largefacelists
largepersongroups
@@ -923,7 +951,9 @@ modelmanagement
MODIFYACLENTRIES
monitoringconfiguration
monitoringconfigurations
+Monospace
MPNS
+MRAN
MSAZR
MSAZRDE
MSCONCAT
@@ -942,6 +972,7 @@ multistep
multivalued
muxed
MUXes
+muxer
muxing
mware
myanalytics
@@ -962,6 +993,7 @@ mysite
mysquare
mystore
myvolume
+myworkbooks
n'eventtype
n'recognition
nagios
@@ -1006,6 +1038,7 @@ nopublicipaddresses
northcentralus
northeurope
nostore
+notebookapis
notificationchannels
notificationhubs
notstarted
@@ -1024,6 +1057,7 @@ octokit
Odata
odatatype
ODBC
+officedocument
OLTP
onboarded
Onboarding
@@ -1040,6 +1074,7 @@ openapi
opencode
opencontainers
openid
+openxmlformats
operationalinsights
Operationalization
operationresults
@@ -1062,6 +1097,7 @@ overprovision
overprovisioned
overprovisioning
overridable
+overriden
OWASP
oxxm
pageable
@@ -1081,6 +1117,7 @@ PCNET
peerings
Pendingissuance
Pendingrevocation
+percentComplete
perfcounters
perfmon
performant
@@ -1144,10 +1181,13 @@ privatedns
privatelinks
privatepreview
projectable
+propogation
Protectable
provisioner
provisioningservices
+provisioningState
Psec
+PSNR
ptrdname
publicipaddresses
publicpreview
@@ -1159,6 +1199,7 @@ pullrequest
Purgeable
pushdown
pushsettings
+pwsh
Pyspark
pytorch
QFEs
@@ -1167,6 +1208,7 @@ qloguniform
qnamaker
qnas
qnormal
+Qssw
querylogs
querypool
querystring
@@ -1285,8 +1327,11 @@ Retryable
Revalidates
Revertable
REVOKEACE
+RGBARGBA
+RGBRGB
rgname
rhel
+RIRs
Rolledback
Rollforward
rollouts
@@ -1305,6 +1350,7 @@ rscc
rscd
rsce
rscl
+rscript
rsct
Rslp
RSNULL
@@ -1316,6 +1362,7 @@ runcounts
runid
runsource
runtimes
+rwdlacup
rwxrw
Saas
salesforcetables
@@ -1335,6 +1382,7 @@ SCOM
scopemap
SCSV
sdks
+SDWAN
searchindex
searchmanagementclient
searchservice
@@ -1358,6 +1406,7 @@ servicefabricmesh
servicefabrics
servicemap
servicemembers
+serviceprincipal
servicerunners
servicestats
servicetopology
@@ -1425,9 +1474,11 @@ sparkconf
sparql
SPDX
SQLAG
+sqldatabase
SQLDB
SQLDW
SQLMI
+sqlpool
SQLRDS
sqlvirtualmachine
sqlvm
@@ -1438,15 +1489,19 @@ SSTP
ssword
standardasciifolding
startlocalrun
+startpacketcapture
startrun
startswith
starttask
starttaskfailed
starttime
+startTime
stateful
staticsite
statusdir
stderror
+stoppacketcapture
+stdev
stopresize
stopword
stopwords
@@ -1455,6 +1510,7 @@ storageaccount
storageaccounts
storagedatalake
storageimportexport
+storagesources
storagesync
storagetarget
storageuri
@@ -1464,6 +1520,7 @@ streamingendpoint
streamingjobs
streamingservice
subcomponent
+subdir
subdomain
subexpressions
subfolder
@@ -1537,6 +1594,7 @@ testall
testallroutes
testnew
testnewroute
+testpl
testresultfile
textanalytics
TFIDF
@@ -1555,6 +1613,8 @@ tombstoned
toolchain
toolset
tooltips
+topqueries
+topquery
traceback
traceroute
trafficmanager
@@ -1562,6 +1622,7 @@ trafficmanageranalytics
trafficmanagerprofiles
tráfico
transcoding
+transcodes
transcriptmoderationresult
translatortext
trendingtopics
@@ -1571,6 +1632,7 @@ TSVE
Turbonomic
Txns
Typeless
+typeperf
UEBA
Uint
uksouth
@@ -1645,6 +1707,7 @@ userpreference
usersetting
usermanaged
USQL
+UUCP
VAIDK
varbinary
varchar
@@ -1659,6 +1722,7 @@ vcsa
Vertica
Vfyc
vhds
+VHDX
videosearch
virtualclusters
virtualip
@@ -1701,6 +1765,7 @@ vsphere
VSTS
VSTSRM
VXLAN
+W3CLOGFILE
waagent
WADL
waitforjobcompletion
@@ -1735,11 +1800,13 @@ WGXM
whitelisted
Whitelisting
Whitelistings
+whitespaces
Whois
Widevine
windowsazuremediaservices
windowsesu
wlmengg
+wordprocessingml
workbooktemplates
Workernode
workloadmonitor
@@ -1753,6 +1820,7 @@ XBing
Xeon
Xero
XSMB
+XVCJ
Yucatec
Ywhk
YYMMDD
@@ -1785,7 +1853,37 @@ userprincipalname
sessionstate
sessionhosts
hostpool
+securitydomain
+securitydomaindownloadpost
+securitydomaintransferkey
+securitydomainuploadoperation
+securitydomainoperationstatus
+transferkey
+Alexa
+regeneratekeys
+Directline
+Keyschannel
azureADMetrics
sparkr
ambari
dotnetspark
+FDID
+Automanage
+Antimalware
+dscp
+Dscp
+qos
+FDID
+watchlists
+Watchlists
+watchlist
+Watchlist
+Stix
+STIX
+Mibps
+ntfs
+networkrulesets
+Setget
+Ruleproperties
+shamir_share
+dllpath
diff --git a/documentation/ci-fix.md b/documentation/ci-fix.md
index c566c7a67908..ec5dc0e5625c 100644
--- a/documentation/ci-fix.md
+++ b/documentation/ci-fix.md
@@ -91,3 +91,6 @@ Note: When running in Swagger PR pipeline, Avocado only report errors with file
Refer to [Avocado Readme](https://github.com/Azure/avocado/blob/master/README.md) for detailed description of validations and how-to-fix guidance.
+## Suppression Process
+
+In case there are validation errors reported against your service that you believe do not apply, we have a suppression process you can follow to permanently remove these reported errors for your specs. Refer to [Swagger Suppression Process](https://dev.azure.com/azure-sdk/internal/_wiki/wikis/internal.wiki/85/Swagger-Suppression-Process) for detailed guidance.
diff --git a/documentation/code-gen/configure-python-sdk.md b/documentation/code-gen/configure-python-sdk.md
new file mode 100644
index 000000000000..503f5acb1ec0
--- /dev/null
+++ b/documentation/code-gen/configure-python-sdk.md
@@ -0,0 +1,237 @@
+# Readme Configuration Guide for Python SDK
+This file describe how to configure readme files to make it available for Python SDK code generation.
+
+## Common Configuration
+Configure basic package information.
+
+### Basic Information
+Configure package title/description/tag.
+~~~~
+// file: readme.md
+
+``` yaml
+title: AppconfigurationConfigurationClient
+description: Appconfiguration Configuration Client
+openapi-type: arm
+tag: package-2019-10-01 // refer to below tag description
+```
+~~~~
+
+### tag
+Tags are used to define what swagger files are used in specific client SDK. In Single-API client, only one tag can be used to generate SDK client.
+A tag can contains a bunch of swagger files which are used to generate the SDK.
+
+The name of a tag should be in form of package-yyyy-mm-dd[-xxx], for example below tag names are available:
+- package-2020-02-03
+- package-2020-03-22-preview
+- package-2020-05-03-only
+
+while those are invalid names:
+- 2020-03-04
+- package-preview-2020-03-04
+
+A tag can be configured like below:
+~~~~
+// file: readme.md
+
+
+### Tag: package-2019-10-01
+
+These settings apply only when `--tag=package-2020-05-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-10-01'
+input-file:
+- Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
+- Microsoft.AppConfiguration/stable/2019-10-01/xxxx.json
+```
+~~~~
+
+
+### all-api-versions
+All swagger files need to be added into the all-api-version section. For Example:
+
+~~~~
+// file: readme.md
+
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
+ - Microsoft.AppConfiguration/stable/2019-10-01/xxxx.json
+ - Microsoft.AppConfiguration/stable/2018-10-01/appconfiguration.json
+ - ...
+~~~~
+
+
+## Swagger to SDK
+To make python SDK can be generated from the tag, swagger-to-sdk need to be configured:
+
+~~~
+// file: readme.md
+
+## 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
+ - ...
+
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+~~~
+
+## Python Configuration
+Python dedicated configurations are configured in readme.python.md.
+A typical readme.python.md is like this:
+
+~~~
+// file: readme.python.md
+
+
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml !$(track2) // For track1: basic Python package information
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.appconfiguration
+ package-name: azure-mgmt-appconfiguration
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+
+These settings apply only when `--track2` is specified on the command line.
+
+``` yaml $(track2) // For track2: basic Python package information
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-appconfiguration
+no-namespace-folders: true
+package-version: 0.1.0
+```
+
+``` yaml $(python-mode) == 'update'
+// --------------- For track1 -----------------
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration/azure/mgmt/appconfiguration
+
+// --------------- For track2 -----------------
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration/azure/mgmt/appconfiguration
+```
+``` yaml $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/appconfiguration/azure-mgmt-appconfiguration
+```
+~~~
+
+## Multi-API
+Multi-API SDK is a package that support multiple REST api-versions. With Python multi-api SDK, the end user can assign api-version for REST calls explicitly; nevertheless, they can also use the default api-version which is choosed as the latest stable api-version.
+
+If a multi-api package is need to be released, 'batch' should be used in the readme.python.md.
+Typical multi-api RPs are azure-mgmt-compute, azure-mgmt-network, azure-mgmt-storage, you cam find their readme files to have a reference for multi-api.
+
+### batch
+The batch is a tag list which are used in the multi-api package. For example:
+~~~
+// file: readme.python.md
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(multiapi) && !$(track2) // For track1
+batch:
+ - tag: package-2020-06-01-only
+ - tag: package-2020-05-01-only
+```
+
+```yaml $(multiapi) && $(track2) // For track2
+clear-output-folder: true
+batch:
+ - tag: package-2020-06-01-only
+ - tag: package-2020-05-01-only
+ - multiapiscript: true
+```
+
+``` yaml $(multiapiscript) // For track2
+output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/
+clear-output-folder: false
+perform-load: false
+```
+~~~
+
+### tags of batch
+Then, the output folder and namespace should be configured for each of the tag. For example:
+~~~
+// file: readme.python.md
+
+### Tag: package-2020-06-01-only and python
+
+These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-01-only'
+namespace: azure.mgmt.compute.v2020_06_01
+output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01
+python:
+ namespace: azure.mgmt.compute.v2020_06_01
+ output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01
+```
+~~~
+
+
+### multi-api init script
+For track1, multi-api init script need to be configured in readme.md. For example:
+
+~~~
+// file: readme.md
+
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-compute
+~~~
+
+
+## Run codegen
+After configure all the readme files, autorest can be used to generate SDK.
+
+### Track1 (for Autorest V2)
+Track1 SDK is based on AutoRest version V2 that's going to be replaced by version V3.
+
+~~~
+autorest --keep-version-file --multiapi --no-async --python --python-mode=update --python-sdks-folder=C:\ZZ\projects\codegen\azure-sdk-for-python\sdk --use=@microsoft.azure/autorest.python@~4.0.71 --version=V2 ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md
+~~~
+
+### Track2 (for latest Autorest)
+Track 2 is based on the latest AutoRest code generator
+
+~~~
+autorest --python --track2 --use=@autorest/python@5.1.0-preview.4 --python-sdks-folder=..\azure-sdk-for-python\sdk --multiapi --python-mode=update ..\azure-rest-api-specs\specification\appconfiguration\resource-manager\readme.md
+~~~
\ No newline at end of file
diff --git a/documentation/code-gen/configure-typescript-sdk.md b/documentation/code-gen/configure-typescript-sdk.md
new file mode 100644
index 000000000000..881578aa402f
--- /dev/null
+++ b/documentation/code-gen/configure-typescript-sdk.md
@@ -0,0 +1,235 @@
+# Readme Configuration Guide for Azure SDK for Javascript (Typescript)
+This file describe how to configure readme files to make it available for Azure SDK for Javascript (Typescript) code generation.
+
+## Common Configuration
+Configure basic package information.
+
+### Basic Information
+Configure package title/description/tag.
+~~~~
+// file: readme.md
+
+``` yaml
+title: xxxxConfigurationClient
+description: xxxx Configuration Client
+openapi-type: arm
+tag: package-xxxx-xx-xx
+```
+~~~~
+
+### tag
+Tags are used to define what swagger files are used in specific client SDK. In Single-API client, only one tag can be used to generate SDK client.
+A tag can contains a bunch of swagger files which are used to generate the SDK.
+
+The name of a tag should be in form of package-yyyy-mm-dd[-xxx], for example below tag names are available:
+- package-2020-02-03
+- package-2020-03-22-preview
+- package-2020-05-03-only
+
+while the below tag names are invalid names:
+- 2020-03-04
+- package-preview-2020-03-04
+
+A tag can be configured like below:
+~~~~
+// file: readme.md
+
+
+### Tag: package-2019-12-01
+
+These settings apply only when `--tag=package-2019-12-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2019-12-01'
+input-file:
+- Microsoft.Compute/stable/2019-12-01/compute.json
+- Microsoft.Compute/stable/2019-12-01/runCommands.json
+- Microsoft.Compute/stable/2019-12-01/gallery.json
+```
+~~~~
+
+
+## Swagger to SDK
+To make Azure SDK for Javascript (Typescript) can be generated from the tag, swagger-to-sdk need to be configured:
+
+~~~
+// file: readme.md
+
+## 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-js
+ - ...
+
+
+## Typescript
+
+See configuration in [readme.typescript.md](./readme.typescript.md)
+~~~
+
+## Typescript Configuration
+Typescript dedicated configurations are configured in readme.typescript.md.
+the typical package-name is usually like `@azure/arm-xxx` where the xxx is related with the service name.
+and the typical output-folder in the azure-sdk-for-js is like `$(typescript-sdks-folder)/sdk/xxx/arm-xxx` where the xxx is related with the service name.
+A typical readme.typescript.md is like this:
+~~~
+// file: readme.typescript.md
+
+## 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-apimanagement"
+ output-folder: "$(typescript-sdks-folder)/sdk/apimanagement/arm-apimanagement"
+ clear-output-folder: true
+ generate-metadata: true
+```
+
+~~~
+
+## Multi-api
+Currently the Azure SDK for Javascript (Typescript) doesn't support multi-api which means each operation contained in one package should only contains one api-version's. and Azure SDK for Javascript (Typescript) only supports single api package.
+
+## Multi-packages
+The batch is a tag list which are used in the one RP has multi-package scenarios. For example,
+the Resources RP has several independent packages like features, lock, policy.
+First of all, you need to have different yaml block for each package to define the default tag for that specific package.
+~~~
+// file: readme.md
+## Configuration
+
+### Basic Information
+
+These are the global settings for the Resource API.
+
+``` yaml
+openapi-type: arm
+```
+
+``` yaml $(package-features)
+tag: package-features-2015-12
+```
+
+``` yaml $(package-locks)
+tag: package-locks-2016-09
+```
+
+``` yaml $(package-policy)
+tag: package-policy-2019-09
+```
+
+``` yaml $(package-resources)
+tag: package-resources-2020-06
+```
+
+~~~
+Then for each default tag, you can define the input swagger like normal tag.
+~~~
+
+### Tag: package-features-2015-12
+
+These settings apply only when `--tag=package-features-2015-12` is specified on the command line.
+
+``` yaml $(tag) == 'package-features-2015-12'
+input-file:
+- Microsoft.Features/stable/2015-12-01/features.json
+```
+
+### Tag: package-locks-2016-09
+
+These settings apply only when `--tag=package-locks-2016-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-locks-2016-09'
+input-file:
+- Microsoft.Authorization/stable/2016-09-01/locks.json
+```
+
+### Tag: package-policy-2019-09
+
+These settings apply only when `--tag=package-policy-2019-09` is specified on the command line.
+
+``` yaml $(tag) == 'package-policy-2019-09'
+input-file:
+- Microsoft.Authorization/stable/2019-09-01/policyAssignments.json
+- Microsoft.Authorization/stable/2019-09-01/policyDefinitions.json
+- Microsoft.Authorization/stable/2019-09-01/policySetDefinitions.json
+
+# Needed when there is more than one input file
+override-info:
+ title: PolicyClient
+```
+
+### Tag: package-resources-2020-06
+
+These settings apply only when `--tag=package-resources-2020-06` is specified on the command line.
+
+``` yaml $(tag) == 'package-resources-2020-06'
+input-file:
+- Microsoft.Resources/stable/2020-06-01/resources.json
+```
+~~~
+
+Finally, in your readme.typescript.md you should include what packages you want to include in the Azure SDK for Javascript (Typescript).
+And in each package's section define the default package name output folder in azure-sdk-for-js repo etc.
+
+~~~
+## TypeScript
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+```yaml $(typescript) && !$(profile)
+typescript:
+ azure-arm: true
+ batch: true
+ generate-metadata: true
+batch:
+ - package-features: true
+ - package-locks: true
+ - package-policy: true
+ - package-resources: true
+```
+
+```yaml $(typescript) && $(package-features) && !$(profile)
+typescript:
+ package-name: "@azure/arm-features"
+ output-folder: "$(typescript-sdks-folder)/sdk/features/arm-features"
+ clear-output-folder: true
+```
+
+```yaml $(typescript) && $(package-locks) && !$(profile)
+typescript:
+ package-name: "@azure/arm-locks"
+ output-folder: "$(typescript-sdks-folder)/sdk/locks/arm-locks"
+ clear-output-folder: true
+```
+
+```yaml $(typescript) && $(package-policy) && !$(profile)
+typescript:
+ package-name: "@azure/arm-policy"
+ output-folder: "$(typescript-sdks-folder)/sdk/policy/arm-policy"
+ clear-output-folder: true
+```
+
+```yaml $(typescript) && $(package-resources) && !$(profile)
+typescript:
+ package-name: "@azure/arm-resources"
+ output-folder: "$(typescript-sdks-folder)/sdk/resources/arm-resources"
+ clear-output-folder: true
+```
+
+~~~
+
+
+## Run codegen
+After configure all the readme files, autorest can be used to generate SDK.
+~~~
+autorest --typescript --typescript-sdks-folder=/home/qiaozha/code/azure-sdk-for-js --license-header=MICROSOFT_MIT_NO_VERSION /home/qiaozha/code/azure-rest-api-specs/specification/storage/resource-manager/readme.md --use=@microsoft.azure/autorest.typescript@4.2.2
+~~~
diff --git a/documentation/openapi-authoring-automated-guidelines.md b/documentation/openapi-authoring-automated-guidelines.md
index 848f8f89f120..906c35a52055 100644
--- a/documentation/openapi-authoring-automated-guidelines.md
+++ b/documentation/openapi-authoring-automated-guidelines.md
@@ -56,6 +56,11 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R4007](#r4007) | [DefaultErrorResponseSchema](#r4007) | ARM OpenAPI(swagger) specs |
| [R4010](#r4010) | [RequiredDefaultResponse](#r4010) | ARM OpenAPI(swagger) specs |
| [R4011](#r4011) | [DeleteOperationResponses](#r4011) | ARM OpenAPI(swagger) specs |
+| [R4015](#r4015) | [NestedResourcesMustHaveListOperation](#r4015) | ARM OpenAPI(swagger) specs |
+| [R4016](#r4016) | [TopLevelResourcesListByResourceGroup](#r4016) | ARM OpenAPI(swagger) specs |
+| [R4017](#r4017) | [TopLevelResourcesListBySubscription](#r4017) | ARM OpenAPI(swagger) specs |
+| [R4018](#r4018) | [OperationsApiResponseSchema](#r4018) | ARM OpenAPI(swagger) specs |
+| [R4019](#r4019) | [GetCollectionResponseSchema](#r4019) | ARM OpenAPI(swagger) specs |
#### ARM Warnings
@@ -67,7 +72,7 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R3010](#r3010) | [TrackedResourceListByImmediateParent](#r3010) | ARM OpenAPI(swagger) specs |
| [R2004](#r2004) | [NonApplicationJsonType](#r2004) | ARM OpenAPI(swagger) specs |
| [R4009](#r4009) | [RequiredSystemDataInNewApiVersions](#r4009) | ARM OpenAPI(swagger) specs |
-
+| [R4014](#r4014) | [AllResourcesMustHaveGetOperation](#r4014) | ARM OpenAPI(swagger) specs |
### SDK Violations
#### SDK Errors
@@ -110,9 +115,9 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| Id | Rule Name | Applies to |
| --- | --- | --- |
| [R4000](#r4000) | [ParameterDescriptionRequired](#r4000) | ARM and Data plane OpenAPI(swagger) specs |
-| [R4000](#r4000-3) | [DescriptiveDescriptionRequired](#r4000-3) | ARM and Data plane OpenAPI(swagger) specs |
-| [R4000](#r4000-4) | [DescriptionAndTitleMissing](#r4000-4) | ARM and Data plane OpenAPI(swagger) specs |
-| [R4000](#r4000-5) | [OperationDescriptionOrSummaryRequired](#r4000-5) | ARM and Data plane OpenAPI(swagger) specs |
+| [R4020](#r4000-3) | [DescriptiveDescriptionRequired](#r4000-3) | ARM and Data plane OpenAPI(swagger) specs |
+| [R4021](#r4000-4) | [DescriptionAndTitleMissing](#r4000-4) | ARM and Data plane OpenAPI(swagger) specs |
+| [R4022](#r4000-5) | [OperationDescriptionOrSummaryRequired](#r4000-5) | ARM and Data plane OpenAPI(swagger) specs |
| [R2001](#r2001) | [AvoidNestedProperties](#r2001) | ARM and Data plane OpenAPI(swagger) specs |
| [R4002](#r4002) | [LocationMustHaveXmsMutability](#r4002) | ARM OpenAPI(swagger) specs |
| [R2066](#r2066) | [PostOperationIdContainsUrlVerb](#r2066) | ARM and Data plane OpenAPI(swagger) specs |
@@ -135,7 +140,16 @@ We request OpenAPI(Swagger) spec authoring be assigned to engineers who have an
| [R2007](#r2007) | [LongRunningOperationsWithLongRunningExtension](#r2007) | ARM OpenAPI(swagger) specs |
| [R2029](#r2029) | [PageableOperation](#r2029) | ARM and Data plane OpenAPI(swagger) specs |
| [R4006](#r4006) | [DeprecatedXmsCodeGenerationSetting](#r4006) | ARM and Data plane OpenAPI(swagger) specs |
-
+
+
+### RPaaS Violations
+
+#### RPaaS Errors
+
+| Id | Rule Name | Applies to |
+| --- | --- | --- |
+| [R4023](#r4023) | [RPaasPutLongRunningOperation201Only](#r4023) | ARM OpenAPI(swagger) specs |
+
### Documentation
#### Documentation Errors
@@ -1132,7 +1146,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Description**: Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), a `Resource` model must have the `name`, `id` and `type` properties defined as `readOnly` in its hierarchy.
-**Why the rule is important**: `name`, `type` and `id` are readonly properties set on the service end. Also, per ARM guidelines each `Resource` type model must have these properties defined in its hierarchy. An example `Resource` definition can be found [here](https://github.com/Azure/azure-rest-api-specs-pr/blob/master/common-types/resource-management/v1/types.json#L3).
+**Why the rule is important**: `name`, `type` and `id` are readonly properties set on the service end. Also, per ARM guidelines each `Resource` type model must have these properties defined in its hierarchy. An example `Resource` definition can be found [here](https://github.com/Azure/azure-rest-api-specs/blob/master/specification/common-types/resource-management/v1/types.json#L9).
**How to fix the violation**: Ensure the `Resource` type model has the properties `name`, `type` and `id` and they are marked as `readOnly:true`.
@@ -1418,7 +1432,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Applies to** : ARM OpenAPI(swagger) specs
-**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemdata. Model definition '{0}' has extra properties ['{1}'].
+**Output Message**: Top level properties should be one of name, type, id, location, properties, tags, plan, sku, etag, managedBy, identity, systemData. Model definition '{0}' has extra properties ['{1}'].
**Description**: Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), top level properties of a resource should be only ones from the allowed set.
@@ -1684,7 +1698,7 @@ But it's allowed when all required properties are marked as discriminator, becau
**Why the rule is important**: A PATCH operation is used to update properties of a resource. So, If the resource has 'X' number of properties and if you wish to change one of them, then a PATCH request could be sent with a value for that specified property. In other words, all the properties in the PATCH request are updated. Now, if any of the values are marked as required/default, it would force the system to update it always which is not the intention of the PATCH operation.
-**How to fix the violation**: Ensure that the request parameter of the Patch Operation does not have a required/default value.
+**How to fix the violation**: Ensure that the request parameter of the Patch Operation does not have a required/default value.A recommended way is to define a new model that only contains the patchable properties to replace the original parameter in request body.
**Good Examples**: The following is a good example:
```json
@@ -1716,10 +1730,7 @@ But it's allowed when all required properties are marked as discriminator, becau
"type": "string"
}
},
- "discriminator": "prop0",
- "required": [
- "prop0"
- ]
+ "required": []
}
}
......
@@ -1743,7 +1754,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
-### R4000 DescriptiveDescriptionRequired
+### R4020 DescriptiveDescriptionRequired
**Category** : SDK Warning
**Applies to** : ARM and Data plane OpenAPI(swagger) specs
@@ -1758,7 +1769,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
-### R4000 DescriptionAndTitleMissing
+### R4021 DescriptionAndTitleMissing
**Category** : SDK Warning
**Applies to** : ARM and Data plane OpenAPI(swagger) specs
@@ -1773,7 +1784,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
-### R4000 OperationDescriptionOrSummaryRequired
+### R4022 OperationDescriptionOrSummaryRequired
**Category** : SDK Warning
**Applies to** : ARM and Data plane OpenAPI(swagger) specs
@@ -1913,7 +1924,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message** : Missing operationId. path:'${operation path}' operation:'${operation}'.
-**Description** : Each operation must haave a unique operationId.
+**Description** : Each operation must have a unique operationId.
**CreatedAt** : February 18, 2020
@@ -1927,7 +1938,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
### R3020 PathResourceProviderNamePascalCase
-**Category** : ARM Warning
+**Category** : ARM Error
**Applies to** : ARM and Data Plane OpenAPI(swagger) specs
@@ -1947,7 +1958,7 @@ For more detail, pls refer to https://github.com/microsoft/api-guidelines/blob/v
Rename resource provider as pascal case in path.
-Eg: In this case, you need to replace `Microsoft.computer` with `Microsoft.Computer` to follw pascal case.
+Eg: In this case, you need to replace `Microsoft.computer` with `Microsoft.Computer` to follow pascal case.
Invalid:
@@ -2001,7 +2012,7 @@ For more detail, pls refer to https://github.com/microsoft/api-guidelines/blob/v
Rename resource type or other identifiers as camel case in path.
-Eg: In this case, you need to replace `ResourceGroups` with `resourceGroups` to follw camel case.
+Eg: In this case, you need to replace `ResourceGroups` with `resourceGroups` to follow camel case.
Invalid:
@@ -2041,9 +2052,9 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Applies to** : ARM and Data Plane OpenAPI(swagger) specs
-**Output Message** : Enum must not contain duplicated value (case insentive).
+**Output Message** : Enum must not contain duplicated value (case insensitive).
-**Description** : Enum must not contain duplicated value (case insentive).
+**Description** : Enum must not contain duplicated value (case insensitive).
**CreatedAt**: February 18, 2020
@@ -2143,7 +2154,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message** : Enum value must not contain empty value.
-**Description** : Emum must not be empty, or contain special character, like space, tab, etc. It will lead to code generation failure in downstream pipeline.
+**Description** : Enum must not be empty, or contain special character, like space, tab, etc. It will lead to code generation failure in downstream pipeline.
**CreatedAt**: February 18, 2020
@@ -2341,7 +2352,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
The following would be invalid:
```json
- "responese":{
+ "response":{
"default": {
"schema":{
"error":"error msg",
@@ -2356,7 +2367,7 @@ The following would be invalid:
the correct schema:
```json
- "responese":{
+ "response":{
"default": {
"error":
{
@@ -2379,7 +2390,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message** : Response schema must not be empty.
-**Description** : Response schema must not be empty, or it will block code genaration.
+**Description** : Response schema must not be empty, or it will block code generation.
**CreatedAt**: April 2, 2020
@@ -2391,7 +2402,7 @@ The following would be invalid:
```json
...
- "responese":{
+ "response":{
"default": {
"schema":{
}
@@ -2410,13 +2421,12 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message** : The response of operation '{operation name }' is defined without 'systemData'. Consider adding the systemData to the response.
**Description** : The responses of GET, PUT and PATCH in new API versions should contain the `systemData` object.The version after 2020-05-01 consider as a new API version.
-For more information, see: [AzureRPCSystemData-RP_Copy.docx](https://microsoft.sharepoint.com/:w:/t/Operations_Management_Suite/EZP2GBYnvsRKnSmJ_FXV4jkBUz6xG_glzG3KVnmHN9Q0qA?e=99dfOo).
**CreatedAt**: May 21, 2020
**LastModifiedAt**: May 21, 2020
-**How to fix the violation**: For each response in the GET/PUT/PATCH opearation add the systemData object:
+**How to fix the violation**: For each response in the GET/PUT/PATCH operation add the systemData object:
``` json
"systemData": {
"$ref": "#/definitions/SystemData"
@@ -2447,7 +2457,7 @@ The following would be valid:
"responses":{
"default": {
"schema":{
- "$ref":#/definiton/Error
+ "$ref":#/definition/Error
}
}
}
@@ -2483,20 +2493,20 @@ The following would be valid:
.....
.....
]
- "responese":{
+ "response":{
"default": {
"schema":{
- "$ref":#/definiton/Error
+ "$ref":#/definition/Error
}
},
"200": {
"schema":{
- "$ref":#/definiton/response
+ "$ref":#/definition/response
}
},
"204": {
"schema":{
- "$ref":#/definiton/resonse
+ "$ref":#/definition/response
}
}
}
@@ -2514,7 +2524,7 @@ Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rul
**Output Message** : The operation: '{operation name}' is defined with x-ms-pageable enabled,but can not find the corresponding nextLink property in the response, please add it.
-**Description** : Per [extensions](https://github.com/Azure/autorest/blob/master/docs/extensions/readme.md#x-ms-pageable) ,when specifying a x-ms-pagable/nextLinkName, the corresponding nextlink property must be defined in the response schema.
+**Description** : Per [extensions](https://github.com/Azure/autorest/blob/master/docs/extensions/readme.md#x-ms-pageable) ,when specifying a x-ms-pageable/nextLinkName, the corresponding nextlink property must be defined in the response schema.
**CreatedAt**: May 21, 2020
@@ -2532,7 +2542,7 @@ The following would be valid:
"nextLinkName": "nextLink"
},
....
- "responese":{
+ "response":{
"200": {
"schema":{
"description": "The list of metric items.",
@@ -2582,4 +2592,360 @@ The following would be valid:
}
...
```
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R4014 AllResourcesMustHaveGetOperation
+
+**Category** : ARM Warning
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The resource "{0}" does not have get operation, please add it.
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md) ,all the resources ,including top-level and nested resources, must have a get operation.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**:
+Since all the models that having 'x-ms-azure-resource' enabled are considered as ARM resource,
+If the output resource is not exactly a ARM resource,you should remove the extension from the model.
+Otherwise,for each resource which doesn't have a get operation,add the corresponding get operation.
+
+For example:
+
+```json
+"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyResourceType/{Name}/SubResource/{subName}": {
+ "get": {
+ ...
+ "operationId": "SubResource_Get",
+ "parameters": [
+
+ ],
+ "responses": {
+ "200": {
+ "schema": {
+ "$ref": "#/definitions/SubResource"
+ }
+ },
+```
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R4015 NestedResourcesMustHaveListOperation
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The nested resource "{0}" does not have list operation, please add it.
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), all the nested must have a list operation which returns the collection of the resource.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: For each nested resource, add the corresponding list operation.
+
+For example:
+
+```json
+...
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyTopLevelResourceType/{name}/MySubResource": {
+ "get": {
+ ...
+ ...
+ "description": "Handles requests to list all resources in a service.",
+ "operationId": "MySubResource_List",
+ ...
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the service.",
+ "schema": {
+ "$ref": "#/definitions/MySubResourceList"
+ }
+ }
+ },
+...
+```
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R4016 TopLevelResourcesListByResourceGroup
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The top-level resource "{0}" does not have list by resource group operation, please add it.
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), all the top-level resources must have a list by resource group operation which returns the collection of the resource.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: For each top-level resource, add the corresponding list by resource group operation.
+
+For example:
+
+```json
+...
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyTopLevelResourceType": {
+ "get": {
+ ...
+ ...
+ "description": "Handles requests to list all resources in a resource group.",
+ "operationId": "Services_ListByRG",
+ ...
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/MyTopLevelResourceList"
+ }
+ }
+ },
+...
+```
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R4017 TopLevelResourcesListBySubscription
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The top-level resource "{0}" does not have list by subscription operation, please add it.
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md), all the top-level resources must have a list by subscription operation which returns the collection of the resource.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: For each top-level resource, add the corresponding list operation.
+
+For example:
+
+```json
+...
+ "/subscriptions/{subscriptionId}/providers/Microsoft.MyNameSpace/MyTopLevelResourceType": {
+ "get": {
+ ...
+ ...
+ "description": "Handles requests to list all resources in a subscription.",
+ "operationId": "Services_ListBySubscription",
+ ...
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/MyTopLevelResourceList"
+ }
+ }
+ },
+...
+```
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R4018 OperationsApiResponseSchema
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The response schema of operations API "{0}" does not match the ARM specification. Please standardize the schema.
+
+**Description** : The operations API should have a response body schema consistent with the [contract spec](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/proxy-api-reference.md#exposing-available-operations). The required properties such as `isDataAction`,`display.description` or `display.resource`,must be included.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: For each operations API ,provide a schema which consistent with the above contract.
+
+The following response is a good example::
+
+```json
+...
+ "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"
+ },
+ "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"
+ }
+ }
+ }
+....
+```
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R4019 GetCollectionResponseSchema
+
+**Category** : ARM Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : The response model in the GET collection operation "{0}" does not match with the response model in the individual GET operation "{1}".
+
+**Description** : Per [ARM guidelines](https://github.com/Azure/azure-resource-manager-rpc/blob/master/v1.0/resource-api-reference.md#get-resource), for all resources (top-level and nested), collection GETs should have a response definition with a property "value" containing an array of the "resource" schema.The definition returned in the collection "value" array should be the same as the response body for the individual GET.
+
+**CreatedAt**: July 13, 2020
+
+**LastModifiedAt**: July 13, 2020
+
+**How to fix the violation**: Make sure the collection GETs return an array and its items schema the same as the response schema in corresponding individual GET.
+
+The following response is a good example:
+
+```json
+...
+
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyResourceType/{Name}": {
+ "get": {
+ ...
+ ...
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the corresponding Service.",
+ "schema": {
+ "$ref": "#/definitions/MyResourceSchema"
+ }
+ }
+
+...
+...
+
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.MyNameSpace/MyResourceType": {
+ "get": {
+ .....
+ "responses": {
+ "200": {
+ "description": "Success. The response describes the list of Services in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/MyResourceList"
+ }
+ },
+...
+...
+"MyResourceList":{
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MyResourceSchema"
+ }
+ },
+...
+```
+Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
+
+### R4023 RPaasPutLongRunningOperation201Only
+
+**Category** : RPaaS Error
+
+**Applies to** : ARM OpenAPI(swagger) specs
+
+**Output Message** : [RPaaS] Only 201 is the supported response code for PUT async response
+
+**Description** : An async PUT operation response include status code 201 with Azure-async-operation header. Must also support status code 200, for simple updates that can be completed synchronously (ex: tags). Operation must also add "x-ms-long-running-operation and x-ms-long-running-operation-options" to describe how the long running operation is tracked.
+
+**CreatedAt**: August 10, 2020
+
+**LastModifiedAt**: August 10, 2020
+
+**Why this rule is important**: RPaaS only supports 201 for async operations. This is enforced at runtime via swagger validation.
+
+**How to fix the violation**: Add the following for async PUT operations.
+
+The following would be valid:
+
+```json
+...
+ "responses": {
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/MySimpleObject"
+ }
+ },
+ "200": {
+ "description": "Succeeded",
+ "schema": {
+ "$ref": "#/definitions/MySimpleObject"
+ }
+ },
+ "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": "azure-async-operation"
+ }
+...
+```
Links: [Index](#index) | [Error vs. Warning](#error-vs-warning) | [Automated Rules](#automated-rules) | [ARM](#arm-violations): [Errors](#arm-errors) or [Warnings](#arm-warnings) | [SDK](#sdk-violations): [Errors](#sdk-errors) or [Warnings](#sdk-warnings)
\ No newline at end of file
diff --git a/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json
index 43165d3ad9ca..c7f0e40bc3f5 100644
--- a/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json
+++ b/documentation/samplefiles/Microsoft.YourServiceName/stable/YYYY-MM-DD/YourServiceName.json
@@ -43,6 +43,9 @@
},
{
"$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
}
],
"responses": {
diff --git a/documentation/samplefiles/readme.go.md b/documentation/samplefiles/readme.go.md
index 14f46860e4d1..ba38219f4d3e 100644
--- a/documentation/samplefiles/readme.go.md
+++ b/documentation/samplefiles/readme.go.md
@@ -8,12 +8,39 @@ go:
clear-output-folder: true
```
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2019-12-01
+ - tag: package-2020-07-01-preview
+ # add every tag listed below
+```
+
### Tag: package-2019-12-01 and go
These settings apply only when `--tag=package-2019-12-01 --go` is specified on the command line.
-Please also specify `--go-sdks-folder=`.
+Please also specify `--go-sdk-folder=`.
```yaml $(tag) == 'package-2019-12-01' && $(go)
-namespace: Microsoft.YourServiceName
-output-folder: $(go-sdks-folder)/YourServiceName/Generated
+# NOTE: a stable tag must not contain any preview swagger files included
+# NOTE: go namespace can only consist of lower case letters, numbers and underscores
+namespace: yourservicename
+# NOTE: for special cases, you can hard code the namespace in the output-folder
+# NOTE: the output-folder of a stable tag must not be under the preview subdirectory
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-12-01/$(namespace)
+```
+
+### Tag: package-2020-07-01-preview and go
+
+These settings apply only when `--tag=package-2020-07-01-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag) == 'package-2020-07-01-preview' && $(go)
+# NOTE: a preview tag must not contain at least one preview swagger file included
+# NOTE: go namespace can only consist of lower case letters, numbers and underscores
+namespace: yourservicename
+# NOTE: a preview api-version must be under the preview sub-directory
+# NOTE: the output-folder of a preview tag must be under the preview subdirectory
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-07-01-preview/$(namespace)
```
diff --git a/package-lock.json b/package-lock.json
index 85b829ee2129..47e96443676a 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -1769,9 +1769,9 @@
}
},
"dot-prop": {
- "version": "5.1.0",
- "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.1.0.tgz",
- "integrity": "sha512-n1oC6NBF+KM9oVXtjmen4Yo7HyAVWV2UUl50dCYJdw2924K6dX9bf9TTTWaKtYlRn0FEtxG27KS80ayVLixxJA==",
+ "version": "5.2.0",
+ "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz",
+ "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==",
"dev": true,
"requires": {
"is-obj": "^2.0.0"
@@ -3164,9 +3164,9 @@
}
},
"lodash": {
- "version": "4.17.15",
- "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz",
- "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==",
+ "version": "4.17.19",
+ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz",
+ "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==",
"dev": true
},
"lodash.get": {
@@ -3717,9 +3717,9 @@
}
},
"node-fetch": {
- "version": "2.6.0",
- "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.0.tgz",
- "integrity": "sha512-8dG4H5ujfvFiqDmVu9fQ5bOHUC15JMjMY/Zumv26oOvvVJjM67KF8koCWIabKQ1GJIa9r2mMZscBq/TbdOcmNA==",
+ "version": "2.6.1",
+ "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz",
+ "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==",
"dev": true
},
"node-object-hash": {
diff --git a/preproduction-azure-pipelines.yml b/preproduction-azure-pipelines.yml
index 56c9816bf51f..6b0e571283a1 100644
--- a/preproduction-azure-pipelines.yml
+++ b/preproduction-azure-pipelines.yml
@@ -16,7 +16,6 @@ variables:
PREPRODUCTION_PIPELINE: "true"
jobs:
- - template: .azure-pipelines/BreakingChange.yml
- template: .azure-pipelines/ModelValidation.yml
- template: .azure-pipelines/LintDiff.yml
- template: .azure-pipelines/Avocado.yml
diff --git a/profile/2020-09-01-hybrid.json b/profile/2020-09-01-hybrid.json
new file mode 100644
index 000000000000..9e91801fb7f8
--- /dev/null
+++ b/profile/2020-09-01-hybrid.json
@@ -0,0 +1,612 @@
+{
+ "info": {
+ "name": "2020-09-01-hybrid",
+ "description": "Profile definition targeted for hybrid applications that could run on azure stack general availability version and azure cloud for 2010."
+ },
+ "resource-manager": {
+ "microsoft.authorization": {
+ "2016-09-01": [
+ {
+ "resourceType": "locks",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-09-01/locks.json"
+ }
+ ],
+ "2016-12-01": [
+ {
+ "resourceType": "policyAssignments",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-12-01/policyAssignments.json"
+ },
+ {
+ "resourceType": "policyDefinitions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Authorization/stable/2016-12-01/policyDefinitions.json"
+ }
+ ],
+ "2015-07-01": [
+ {
+ "resourceType": "permissions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json"
+ },
+ {
+ "resourceType": "roleAssignments",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json"
+ },
+ {
+ "resourceType": "roleDefinitions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json"
+ },
+ {
+ "resourceType": "providerOperations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/authorization/resource-manager/Microsoft.Authorization/stable/2015-07-01/authorization.json"
+ }
+ ]
+ },
+ "microsoft.commerce": {
+ "2015-06-01-preview":[
+ {
+ "resourceType": "estimateResourceSpend",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "subscriberUsageAggregates",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ },
+ {
+ "resourceType": "usageAggregates",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/commerce/resource-manager/Microsoft.Commerce/preview/2015-06-01-preview/commerce.json"
+ }
+ ]
+ },
+ "microsoft.compute": {
+ "2020-06-01": [
+ {
+ "resourceType": "availabilitySets",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "images",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations/publishers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations/operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations/usages",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "locations/vmSizes",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachines",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachines/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachineScaleSets",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachineScaleSets/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualmachineScaleSets/networkInterfaces",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachineScaleSets/virtualMachines",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ },
+ {
+ "resourceType": "virtualMachineScaleSets/virtualMachines/networkInterfaces",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json"
+ }
+ ],
+ "2019-07-01": [
+ {
+ "resourceType": "disks",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json"
+ },
+ {
+ "resourceType": "snapshots",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/disk.json"
+ }
+ ]
+ },
+ "microsoft.databoxedge":{
+ "2019-08-01": [
+ {
+ "resourceType": "dataBoxEdgeDevices",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ },
+ {
+ "resourceType": "dataBoxEdgeDevices/checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json"
+ }
+ ]
+ },
+ "microsoft.devices": {
+ "2019-07-01-preview":[
+ {
+ "resourceType": "usages",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations/quotas",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "locations/skus",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "operationResults",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "IotHubs",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "backupProviders",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ },
+ {
+ "resourceType": "backupProviders/operationResults",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/iothub/resource-manager/Microsoft.Devices/preview/2019-07-01-preview/iothub.json"
+ }
+ ]
+ },
+ "microsoft.eventhubs": {
+ "2018-01-01-preview": [
+ {
+ "resourceType": "availableClusterRegions",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json"
+ },
+ {
+ "resourceType": "clusters",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json"
+ },
+ {
+ "resourceType": "namespaces",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json"
+ }
+ ],
+ "2017-04-01": [
+ {
+ "resourceType": "checkNameAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/authorizationRules",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs/authorizationRules",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "namespaces/eventhubs/consumerGroups",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "operations",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ },
+ {
+ "resourceType": "sku",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/EventHub.json"
+ }
+ ],
+ "2015-08-01": [
+ {
+ "resourceType": "checkNamespaceAvailability",
+ "path":"https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2015-08-01/EventHub.json"
+ }
+ ]
+ },
+ "microsoft.insights": {
+ "2018-01-01": [
+ {
+ "resourceType": "metricDefinitions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metricDefinitions_API.json"
+ },
+ {
+ "resourceType": "metrics",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2018-01-01/metrics_API.json"
+ }
+ ],
+ "2017-05-01-preview": [
+ {
+ "resourceType": "diagnosticSettings",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettings_API.json"
+ },
+ {
+ "resourceType": "diagnosticSettingCategories",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/preview/2017-05-01-preview/diagnosticsSettingsCategories_API.json"
+ }
+ ],
+ "2015-04-01": [
+ {
+ "resourceType": "eventCategories",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/eventCategories_API.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/monitor/resource-manager/Microsoft.Insights/stable/2015-04-01/operations_API.json"
+ }
+ ]
+ },
+ "microsoft.keyvault": {
+ "2019-09-01": [
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/providers.json"
+ },
+ {
+ "resourceType": "vaults",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json"
+ },
+ {
+ "resourceType": "vaults/accessPolicies",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/keyvault.json"
+ },
+ {
+ "resourceType": "vaults/secrets",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/resource-manager/Microsoft.KeyVault/stable/2019-09-01/secrets.json"
+ }
+ ]
+ },
+ "microsoft.network": {
+ "2018-11-01": [
+ {
+ "resourceType": "connections",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json"
+ },
+ {
+ "resourceType": "loadBalancers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/loadBalancer.json"
+ },
+ {
+ "resourceType": "localNetworkGateways",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json"
+ },
+ {
+ "resourceType": "locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json"
+ },
+ {
+ "resourceType": "locations/operationResults",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json"
+ },
+ {
+ "resourceType": "locations/operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json"
+ },
+ {
+ "resourceType": "locations/usages",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/network.json"
+ },
+ {
+ "resourceType": "networkInterfaces",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkInterface.json"
+ },
+ {
+ "resourceType": "networkSecurityGroups",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/networkSecurityGroup.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/operation.json"
+ },
+ {
+ "resourceType": "publicIpAddresses",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/publicIpAddress.json"
+ },
+ {
+ "resourceType": "routeTables",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/routeTable.json"
+ },
+ {
+ "resourceType": "virtualNetworkGateways",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetworkGateway.json"
+ },
+ {
+ "resourceType": "virtualNetworks",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/network/resource-manager/Microsoft.Network/stable/2018-11-01/virtualNetwork.json"
+ }
+ ],
+ "2016-04-01": [
+ {
+ "resourceType": "dnsZones",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/dns/resource-manager/Microsoft.Network/stable/2016-04-01/dns.json"
+ }
+ ]
+ },
+ "microsoft.resources": {
+ "2019-10-01": [
+ {
+ "resourceType": "subscriptions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json"
+ },
+ {
+ "resourceType": "subscriptions/locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json"
+ },
+ {
+ "resourceType": "tenants",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-06-01/subscriptions.json"
+ }
+ ],
+ "2018-05-01": [
+ {
+ "resourceType": "deployments",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "deployments/operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "links",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "providers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "resourceGroups",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "resources",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/operationresults",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/providers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/resourceGroups",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/resourceGroups/resources",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/resources",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/tagNames",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ },
+ {
+ "resourceType": "subscriptions/tagNames/tagValues",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/resources/resource-manager/Microsoft.Resources/stable/2018-05-01/resources.json"
+ }
+ ]
+ },
+ "microsoft.storage": {
+ "2019-06-01": [
+ {
+ "resourceType": "checkNameAvailability",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "locations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "locations/quotas",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "storageAccounts",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "storageAccounts/blobServices",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "storageAccounts/queueServices",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "storageAccounts/tableServices",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ },
+ {
+ "resourceType": "usages",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/storage/resource-manager/Microsoft.Storage/stable/2017-10-01/storage.json"
+ }
+ ]
+ },
+ "microsoft.web": {
+ "2018-02-01": [
+ {
+ "resourceType": "certificates",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/Certificates.json"
+ },
+ {
+ "resourceType": "operations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "checknameavailability",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "metadata",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/domainOwnershipIdentifiers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/hostNameBindings",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/instances",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/instances/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/slots",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/slots/hostNameBindings",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/slots/instances",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "sites/slots/instances/extensions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ },
+ {
+ "resourceType": "serverFarms",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2018-02-01/WebApps.json"
+ }
+ ],
+ "2016-09-01": [
+ {
+ "resourceType": "serverFarms/metricDefinitions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json"
+ },
+ {
+ "resourceType": "serverFarms/metrics",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json"
+ },
+ {
+ "resourceType": "serverFarms/usages",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-09-01/AppServicePlans.json"
+ }
+ ],
+ "2016-03-01": [
+ {
+ "resourceType": "availableStacks",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/Provider.json"
+ },
+ {
+ "resourceType": "deploymentLocations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "georegions",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "listSitesAssignedToHostName",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "publishingUsers",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "recommendations",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/Recommendations.json"
+ },
+ {
+ "resourceType": "sourceControls",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ },
+ {
+ "resourceType": "validate",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/web/resource-manager/Microsoft.Web/stable/2016-03-01/ResourceProvider.json"
+ }
+ ]
+ }
+ },
+ "data-plane": {
+ "microsoft.keyvault": {
+ "2016-10-01": [
+ {
+ "resourceType": "*",
+ "path": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/keyvault/data-plane/Microsoft.KeyVault/stable/2016-10-01/keyvault.json"
+ }
+ ]
+ },
+ "microsoft.storage": {
+ "resourceType": "*",
+ "2019-07-07": []
+ }
+ }
+}
\ No newline at end of file
diff --git a/scripts/breaking-change.ts b/scripts/breaking-change.ts
deleted file mode 100644
index b79c27007b1a..000000000000
--- a/scripts/breaking-change.ts
+++ /dev/null
@@ -1,13 +0,0 @@
-// Copyright (c) Microsoft Corporation. All rights reserved.
-// Licensed under the MIT License. See License in the project root for license information.
-
-import * as scripts from '@azure/rest-api-specs-scripts'
-
-// magic starts here
-scripts.breakingChange().then(() => {
- console.log(`Thanks for using breaking change tool to review.`);
- console.log(`If you encounter any issue(s), please open issue(s) at https://github.com/Azure/openapi-diff/issues .`);
-}).catch(err => {
- console.log(err);
- process.exitCode = 1;
-})
diff --git a/scripts/datacontainer/Dockerfile b/scripts/datacontainer/Dockerfile
new file mode 100644
index 000000000000..f36ab2eb398e
--- /dev/null
+++ b/scripts/datacontainer/Dockerfile
@@ -0,0 +1,15 @@
+FROM alpine:3.8
+
+RUN apk update && \
+ apk add git
+
+RUN mkdir -p /usr/data/specrepo/
+COPY .git /usr/data/specrepo/.git
+
+WORKDIR /usr/data/scripts/
+COPY run.sh run.sh
+RUN chmod +x run.sh
+
+RUN mkdir -p /usr/data/openapispecs/
+WORKDIR /usr/data/openapispecs
+ENTRYPOINT /usr/data/scripts/run.sh
diff --git a/scripts/datacontainer/run.sh b/scripts/datacontainer/run.sh
new file mode 100644
index 000000000000..71cfda09fea6
--- /dev/null
+++ b/scripts/datacontainer/run.sh
@@ -0,0 +1,18 @@
+
+#!/bin/bash
+
+timestamp=`date +%Y/%m/%d-%H:%M:%S`
+echo "[$timestamp] Copying files to /usr/data/openapispecs"
+mkdir -p /usr/data/openapispecs/.git
+cp -R /usr/data/specrepo/.git/* /usr/data/openapispecs/.git/
+
+timestamp=`date +%Y/%m/%d-%H:%M:%S`
+echo "[$timestamp] Running 'git checkout [$specRetrievalGitBranch] -f'"
+git checkout $specRetrievalGitBranch -f
+
+timestamp=`date +%Y/%m/%d-%H:%M:%S`
+echo "[$timestamp] Deleting directory /usr/data/specrepo"
+rm -R /usr/data/specrepo/
+
+timestamp=`date +%Y/%m/%d-%H:%M:%S`
+echo "[$timestamp] Init completed successfully. OpenAPI specs are present in /usr/data/openapispecs."
diff --git a/scripts/multiapi.ts b/scripts/multiapi.ts
index 56d169adeb42..caed08c5e71e 100644
--- a/scripts/multiapi.ts
+++ b/scripts/multiapi.ts
@@ -12,15 +12,14 @@ type Code = {
readonly "input-file"?: ReadonlyArray|string
}
const magic = `yaml $(tag) == 'all-api-versions' /* autogenerated */`;
-const header = `## Multi-API/Profile support for AutoRest v3 generators`;
+const pathRegex = /microsoft\.(\w+)[\\\/]\S*[\\\/](\d{4}-\d{2}-\d{2}(|-preview))[\\\/]/i;
-
-const main = async (specificationDir: string, profilesDir: string) => {
+const main = async (specificationDir: string) => {
try {
const list = fs.recursiveReaddir(specificationDir)
for await (const file of list) {
const f = path.parse(file)
- if (f.base === "readme.md") {
+ if (f.base === "readme.md" && f.dir.endsWith('resource-manager')) {
const original_content = (await fs.readFile(file)).toString()
let content = original_content;
const readMe = cm.parse(content)
@@ -36,70 +35,68 @@ const main = async (specificationDir: string, profilesDir: string) => {
if (DOC ) {
const y = DOC['input-file']
if (typeof y === "string") {
- set.add(`$(this-folder)/${y}`)
+ set.add(y)
} else if (it.isArray(y)) {
for (const i of y) {
- set.add(`$(this-folder)/${i}`)
+ set.add(i)
}
}
}
-
}
}
- if( !content.includes(header) ) {
- // add the header to the content
- content = content + `
-${header}
+ let map = new Map();
+ for (let input of set) {
+ let match = pathRegex.exec(input);
+ if (!!match) {
+ let tagName = `schema-${match[1].toLowerCase()}-${match[2]}`;
+ if (!map.has(tagName)) {
+ map.set(tagName, []);
+ }
+ let array = map.get(tagName);
+ if (!!array) {
+ array.push(input);
+ }
+ }
+ }
+ map = new Map(Array.from(map.entries()).sort().reverse());
+ let schemaReadmeContent =
+`## AzureResourceSchema
-AutoRest V3 generators require the use of \`--tag=all-api-versions\` to select api files.
+These settings apply only when \`--azureresourceschema\` is specified on the command line.
-This block is updated by an automatic script. Edits may be lost!
+### AzureResourceSchema multi-api
-\`\`\` ${magic}
+\`\`\` yaml $(azureresourceschema) && $(multiapi)
+${yaml.dump({ 'batch': it.toArray(it.map(map.keys(), (tagName) => ({'tag': tagName})))}, { lineWidth: 1000})}
\`\`\`
-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.
+Please also specify \`--azureresourceschema-folder=\`.
+`
+ map.forEach((inputList, tagName) => {
+ schemaReadmeContent +=
+`
+### Tag: ${tagName} and azureresourceschema
+
+\`\`\` yaml $(tag) == '${tagName}' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
-\`\`\` yaml $(tag) == 'all-api-versions'
-#exclude-file:
-# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
+# all the input files in this apiVersion
+${yaml.dump({ 'input-file': it.toArray(inputList)}, { lineWidth: 1000})}
\`\`\`
-
`
- }
- // update the autogenrated block with the new content.
- /* const readMeMulti = cm.createNode(
- "document",
- cm.createNode(
- "heading",
- cm.createText("# Multi-API/Profile support for AutoRest v3 generators")
- ),
- cm.createCodeBlock(
- magic,
- yaml.dump({ "input-file": it.toArray(set), "require": `$(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md` }, { lineWidth: 1000 })
- )
- )
- const block1 =cm.markDownExToString({ markDown: cm.createCodeBlock(
- magic,
- yaml.dump({
- "input-file": it.toArray(set),
- "require": `$(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md` }, { lineWidth: 1000 })
- )});*/
- const block =
-`\`\`\` ${magic}
-# include the azure profile definitions from the standard location
-require: $(this-folder)/${path.relative(f.dir, profilesDir).replace(/\\/g, '/')}/readme.md
+ });
-# all the input files across all versions
-${yaml.dump({ 'input-file': it.toArray(set) },{ lineWidth: 1000 } )}
-\`\`\``
- content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions' \/\* autogenerated \*\/[\S\s]*?```/g, block)
+ // content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions' \/\* autogenerated \*\/[\S\s]*?```/g, '')
+ // content = content.replace( /``` yaml \$\(tag\) == 'all-api-versions'[\S\s]*?```/g, '')
+ // content = content.replace( /## Multi-API\/Profile support for AutoRest v3 generators[\S\s]*/g, '')
- if(original_content !== content ){
- console.log(`Updating: ${file}`);
- fs.writeFile(path.join(f.dir, "readme.md"), content)
- }
+ // if(original_content !== content ){
+ // console.log(`Updating: ${file}`);
+ // fs.writeFile(path.join(f.dir, "readme.md"), content)
+ // }
+
+ console.log(`Rewriting: ${f.dir}/readme.azureresourceschema.md`);
+ fs.writeFile(path.join(f.dir, "readme.azureresourceschema.md"), schemaReadmeContent);
}
}
@@ -108,4 +105,4 @@ ${yaml.dump({ 'input-file': it.toArray(set) },{ lineWidth: 1000 } )}
}
}
-main(path.join(process.cwd(), "specification"), path.join(process.cwd(), "profiles"))
+main(path.join(process.cwd(), "specification"))
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b91b439d843d
--- /dev/null
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-enterpriseknowledgegraph-2018-12-03
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-enterpriseknowledgegraph-2018-12-03 and azureresourceschema
+
+``` yaml $(tag) == 'schema-enterpriseknowledgegraph-2018-12-03' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EnterpriseKnowledgeGraph/preview/2018-12-03/EnterpriseKnowledgeGraphSwagger.json
+
+```
diff --git a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
index 18d7c396724d..5e86715c9ebe 100644
--- a/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
+++ b/specification/EnterpriseKnowledgeGraph/resource-manager/readme.md
@@ -75,6 +75,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
- repo: azure-sdk-for-go
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js EnterpriseKnowledgeGraph/resource-manager
```
## C#
@@ -91,6 +94,10 @@ csharp:
clear-output-folder: true
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/addons/resource-manager/readme.azureresourceschema.md b/specification/addons/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..ae05babd8222
--- /dev/null
+++ b/specification/addons/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-addons-2018-03-01
+ - tag: schema-addons-2017-05-15
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-addons-2018-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-addons-2018-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Addons/preview/2018-03-01/addons-swagger.json
+
+```
+
+### Tag: schema-addons-2017-05-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-addons-2017-05-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Addons/preview/2017-05-15/Addons.json
+
+```
diff --git a/specification/addons/resource-manager/readme.md b/specification/addons/resource-manager/readme.md
index 50f7283f8527..190417253f1c 100644
--- a/specification/addons/resource-manager/readme.md
+++ b/specification/addons/resource-manager/readme.md
@@ -50,6 +50,17 @@ input-file:
---
# Code Generation
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js addons/resource-manager
+```
---
## C#
@@ -182,6 +193,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md b/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..2ed4e21a2173
--- /dev/null
+++ b/specification/adhybridhealthservice/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,12 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch: []
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
diff --git a/specification/adhybridhealthservice/resource-manager/readme.md b/specification/adhybridhealthservice/resource-manager/readme.md
index 5628efb7da58..88e9f3b4d518 100644
--- a/specification/adhybridhealthservice/resource-manager/readme.md
+++ b/specification/adhybridhealthservice/resource-manager/readme.md
@@ -54,6 +54,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js adhybridhealthservice/resource-manager
```
@@ -94,6 +97,10 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/advisor.json b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/advisor.json
new file mode 100644
index 000000000000..dc682bd2020b
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/advisor.json
@@ -0,0 +1,329 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-07-01-preview",
+ "title": "AdvisorManagementClient",
+ "description": "REST APIs for Azure Advisor"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Advisor/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all the available Advisor REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/advisorScore": {
+ "get": {
+ "tags": [
+ "AdvisorScore"
+ ],
+ "description": "Gets the list of advisor scores.",
+ "operationId": "AdvisorScores_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/advisorScoreEntity"
+ }
+ }
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ArmErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "ListAdvisorScore": {
+ "$ref": "./examples/ListAdvisorScore.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Advisor/advisorScore/{name}": {
+ "get": {
+ "tags": [
+ "AdvisorScore"
+ ],
+ "description": "Gets the advisor score.",
+ "operationId": "AdvisorScores_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The scope of Advisor score entity.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/advisorScoreEntity"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ArmErrorResponse"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-examples": {
+ "GetAdvisorScoreDetail": {
+ "$ref": "./examples/GetAdvisorScoreDetail.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ArmErrorResponse": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ARMErrorResponseBody"
+ }
+ }
+ },
+ "ARMErrorResponseBody": {
+ "description": "ARM error response body.",
+ "type": "object",
+ "properties": {
+ "message": {
+ "description": "Gets or sets the string that describes the error in detail and provides debugging information.",
+ "type": "string"
+ },
+ "code": {
+ "description": "Gets or sets the string that can be used to programmatically identify the error.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationEntityListResult": {
+ "description": "The list of Advisor operations.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "The operation supported by Advisor.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The operation supported by Advisor."
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The operation supported by Advisor.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Service provider: Microsoft Advisor.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ }
+ }
+ },
+ "scoreEntity": {
+ "description": "The details of Advisor Score",
+ "type": "object",
+ "properties": {
+ "date": {
+ "description": "The date score was calculated.",
+ "type": "string"
+ },
+ "score": {
+ "description": "The percentage score.",
+ "type": "number"
+ },
+ "consumptionUnits": {
+ "description": "The consumption units for the score.",
+ "type": "number"
+ },
+ "impactedResourceCount": {
+ "description": "The number of impacted resources.",
+ "type": "number"
+ },
+ "potentialScoreIncrease": {
+ "description": "The potential percentage increase in overall score at subscription level once all recommendations in this scope are implemented.",
+ "type": "number"
+ }
+ }
+ },
+ "timeSeriesEntity": {
+ "description": "The historic data at different aggregation levels.",
+ "type": "array",
+ "items": {
+ "description": "The data from different aggregation levels.",
+ "type": "object",
+ "properties": {
+ "aggregationLevel": {
+ "description": "The aggregation level of the score.",
+ "type": "string",
+ "enum": [
+ "week",
+ "day",
+ "month"
+ ]
+ },
+ "data": {
+ "description": "The past score data",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/scoreEntity"
+ }
+ }
+ }
+ }
+ },
+ "advisorScoreEntity": {
+ "description": "The details of Advisor score for a single category.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The ID of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "description": "The category.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of resource.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "The Advisor score data.",
+ "type": "object",
+ "properties": {
+ "lastRefreshedScore": {
+ "description": "The details of latest available score.",
+ "$ref": "#/definitions/scoreEntity"
+ },
+ "timeSeries": {
+ "description": "The historic Advisor score data.",
+ "$ref": "#/definitions/timeSeriesEntity"
+ }
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API to be used with the client request.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/GetAdvisorScoreDetail.json b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/GetAdvisorScoreDetail.json
new file mode 100644
index 000000000000..39f27877eddb
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/GetAdvisorScoreDetail.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId",
+ "name": "Cost"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Cost",
+ "name": "Cost",
+ "type": "Microsoft.Advisor/advisorScore",
+ "properties": {
+ "lastRefreshedScore": {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ "timeSeries": [
+ {
+ "aggregationLevel": "day",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-24T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-23T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-22T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-21T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-20T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-19T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ },
+ {
+ "aggregationLevel": "month",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-05-30T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-04-30T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ },
+ {
+ "aggregationLevel": "week",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-21T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-14T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-07T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-05-31T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-05-24T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/ListAdvisorScore.json b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/ListAdvisorScore.json
new file mode 100644
index 000000000000..1976e4b72223
--- /dev/null
+++ b/specification/advisor/resource-manager/Microsoft.Advisor/preview/2020-07-01-preview/examples/ListAdvisorScore.json
@@ -0,0 +1,345 @@
+{
+ "parameters": {
+ "subscriptionId": "subscriptionId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nextLink": "",
+ "value": [
+ {
+ "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Cost",
+ "name": "Cost",
+ "type": "Microsoft.Advisor/advisorScore",
+ "properties": {
+ "lastRefreshedScore": {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ "timeSeries": [
+ {
+ "aggregationLevel": "day",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-24T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-23T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-22T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-21T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-20T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-19T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ },
+ {
+ "aggregationLevel": "month",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-05-30T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-04-30T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ },
+ {
+ "aggregationLevel": "week",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-21T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-14T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-06-07T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-05-31T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ {
+ "date": "2020-05-24T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Advisor/Performance",
+ "name": "Performance",
+ "type": "Microsoft.Advisor/advisorScore",
+ "properties": {
+ "lastRefreshedScore": {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ "timeSeries": [
+ {
+ "aggregationLevel": "day",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ },
+ {
+ "aggregationLevel": "month",
+ "data": [
+ {
+ "date": "2020-05-30T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ },
+ {
+ "aggregationLevel": "week",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Security",
+ "name": "Security",
+ "type": "Microsoft.Advisor/advisorScore",
+ "properties": {
+ "lastRefreshedScore": {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ "timeSeries": [
+ {
+ "aggregationLevel": "day",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ },
+ {
+ "aggregationLevel": "month",
+ "data": [
+ {
+ "date": "2020-05-30T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ },
+ {
+ "aggregationLevel": "week",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/HighAvailability",
+ "name": "HighAvailability",
+ "type": "Microsoft.Advisor/advisorScore",
+ "properties": {
+ "lastRefreshedScore": {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ "timeSeries": [
+ {
+ "aggregationLevel": "day",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/OperationalExcellence",
+ "name": "OperationalExcellence",
+ "type": "Microsoft.Advisor/advisorScore",
+ "properties": {
+ "lastRefreshedScore": {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ "timeSeries": [
+ {
+ "aggregationLevel": "day",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/subId/Microsoft.Advisor/AdvisorScore/Advisor",
+ "name": "Advisor",
+ "type": "Microsoft.Advisor/advisorScore",
+ "properties": {
+ "lastRefreshedScore": {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ },
+ "timeSeries": [
+ {
+ "aggregationLevel": "day",
+ "data": [
+ {
+ "date": "2020-06-25T00:00:00Z",
+ "score": 1,
+ "consumptionUnits": 12.24521,
+ "impactedResourceCount": 1,
+ "potentialScoreIncrease": 0
+ }
+ ]
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/advisor/resource-manager/readme.azureresourceschema.md b/specification/advisor/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..8419f1c1778c
--- /dev/null
+++ b/specification/advisor/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,72 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-advisor-2020-07-01-preview
+ - tag: schema-advisor-2020-01-01
+ - tag: schema-advisor-2017-04-19
+ - tag: schema-advisor-2017-03-31
+ - tag: schema-advisor-2016-07-12-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-advisor-2020-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2020-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/preview/2020-07-01-preview/advisor.json
+
+```
+
+### Tag: schema-advisor-2020-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2020-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/stable/2020-01-01/advisor.json
+
+```
+
+### Tag: schema-advisor-2017-04-19 and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2017-04-19' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/stable/2017-04-19/advisor.json
+
+```
+
+### Tag: schema-advisor-2017-03-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2017-03-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/stable/2017-03-31/advisor.json
+
+```
+
+### Tag: schema-advisor-2016-07-12-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-advisor-2016-07-12-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Advisor/preview/2016-07-12-preview/advisor.json
+
+```
diff --git a/specification/advisor/resource-manager/readme.md b/specification/advisor/resource-manager/readme.md
index 19b78bb8ac9b..c3f9f016496e 100644
--- a/specification/advisor/resource-manager/readme.md
+++ b/specification/advisor/resource-manager/readme.md
@@ -29,6 +29,14 @@ openapi-type: arm
tag: package-2020-01
```
+### Tag: package-2020-07-preview
+
+These settings apply only when `--tag=package-2020-07-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-07-preview'
+input-file:
+ - Microsoft.Advisor/preview/2020-07-01-preview/advisor.json
+```
### Tag: package-2020-01
@@ -82,6 +90,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js advisor/resource-manager
```
## Python
@@ -137,6 +148,10 @@ csharp:
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -149,6 +164,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Advisor/preview/2020-07-01-preview/advisor.json
- $(this-folder)/Microsoft.Advisor/stable/2020-01-01/advisor.json
- $(this-folder)/Microsoft.Advisor/stable/2017-04-19/advisor.json
- $(this-folder)/Microsoft.Advisor/stable/2017-03-31/advisor.json
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
index 0236d4f36094..b478a1c46f6a 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
@@ -116,7 +116,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -159,7 +159,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -198,7 +198,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -234,7 +234,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -273,7 +273,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -344,7 +344,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -390,7 +390,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -435,7 +435,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -471,7 +471,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -808,7 +808,7 @@
"value"
]
},
- "errorResponse": {
+ "AlertsManagementErrorResponse": {
"description": "An error response from the service.",
"x-ms-external": true,
"properties": {
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json
index 908b0abd0480..f876c45039e7 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2018-11-02-privatepreview/AlertsManagement.json
@@ -116,7 +116,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -159,7 +159,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -198,7 +198,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -234,7 +234,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -273,7 +273,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -344,7 +344,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -390,7 +390,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -435,7 +435,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -471,7 +471,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -523,7 +523,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
}
@@ -573,7 +573,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
}
@@ -615,7 +615,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
}
@@ -664,7 +664,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
}
@@ -701,7 +701,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
}
@@ -747,7 +747,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
}
@@ -1086,7 +1086,7 @@
"value"
]
},
- "errorResponse": {
+ "AlertsManagementErrorResponse": {
"description": "An error response from the service.",
"x-ms-external": true,
"properties": {
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-03-01-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-03-01-preview/AlertsManagement.json
index b2037d78bcf4..ed96b1ddb65b 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-03-01-preview/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-03-01-preview/AlertsManagement.json
@@ -128,7 +128,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -171,7 +171,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -210,7 +210,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -246,7 +246,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -315,7 +315,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -386,7 +386,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -432,7 +432,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -477,7 +477,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -513,7 +513,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -919,7 +919,7 @@
"value"
]
},
- "errorResponse": {
+ "AlertsManagementErrorResponse": {
"description": "An error response from the service.",
"x-ms-external": true,
"properties": {
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
new file mode 100644
index 000000000000..25123080680b
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
@@ -0,0 +1,944 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-05-05-preview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "APIs for Azure Action Rules CRUD operations."
+ },
+ "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/actionRules": {
+ "get": {
+ "summary": "Get all action rule in a given subscription",
+ "description": "List all action rules of the subscription and given input filters",
+ "operationId": "ActionRules_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ },
+ {
+ "$ref": "#/parameters/impactedScope"
+ },
+ {
+ "$ref": "#/parameters/description"
+ },
+ {
+ "$ref": "#/parameters/alertRuleId"
+ },
+ {
+ "$ref": "#/parameters/actionGroup"
+ },
+ {
+ "$ref": "#/parameters/actionRuleName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of action rules",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetActionRulesSubscriptionWide": {
+ "$ref": "./examples/ActionRules_List_Subscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": {
+ "get": {
+ "summary": "Get all action rules created in a resource group",
+ "operationId": "ActionRules_ListByResourceGroup",
+ "description": "List all action rules of the subscription, created in given resource group and given input filters",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ },
+ {
+ "$ref": "#/parameters/impactedScope"
+ },
+ {
+ "$ref": "#/parameters/description"
+ },
+ {
+ "$ref": "#/parameters/alertRuleId"
+ },
+ {
+ "$ref": "#/parameters/actionGroup"
+ },
+ {
+ "$ref": "#/parameters/actionRuleName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Return the list of action rules",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GetActionRulesResourceGroupWide": {
+ "$ref": "./examples/ActionRules_List_ResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": {
+ "get": {
+ "summary": "Get action rule by name",
+ "operationId": "ActionRules_GetByName",
+ "description": "Get a specific action rule",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name of action rule that needs to be fetched",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the specific action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetActionRuleById": {
+ "$ref": "./examples/ActionRules_GetById.json"
+ }
+ }
+ },
+ "put": {
+ "summary": "Create/update an action rule",
+ "operationId": "ActionRules_CreateUpdate",
+ "description": "Creates/Updates a specific action rule",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name of action rule that needs to be created/updated",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionRule",
+ "in": "body",
+ "description": "action rule to be created/updated",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the created/updated action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PutActionRule": {
+ "$ref": "./examples/ActionRules_Create_SuppressionRule.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete action rule",
+ "description": "Deletes a given action rule",
+ "operationId": "ActionRules_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name that needs to be deleted",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns true if deleted successfully",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "type": "boolean"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DeleteActionRule": {
+ "$ref": "./examples/ActionRules_Delete.json"
+ }
+ }
+ },
+ "patch": {
+ "summary": "Patch action rule",
+ "description": "Update enabled flag and/or tags for the given action rule",
+ "operationId": "ActionRules_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "name": "actionRuleName",
+ "in": "path",
+ "description": "The name that needs to be updated",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "actionRulePatch",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PatchObject"
+ },
+ "description": "Parameters supplied to the operation."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the created/updated action rule",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PatchActionRule": {
+ "$ref": "./examples/ActionRules_Patch.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "minLength": 1
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "Resource group name where the resource is created.",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "api-version": {
+ "name": "api-version",
+ "description": "client API version",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "2019-05-05-preview"
+ ],
+ "x-ms-enum": {
+ "name": "api-version",
+ "modelAsString": true
+ }
+ },
+ "targetResourceGroup": {
+ "description": "Filter by target resource group name. Default value is select all.",
+ "name": "targetResourceGroup",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResource": {
+ "description": "Filter by target resource( which is full ARM ID) Default value is select all.",
+ "name": "targetResource",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResourceType": {
+ "description": "Filter by target resource type. Default value is select all.",
+ "name": "targetResourceType",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "monitorService": {
+ "description": "Filter by monitor service which generates the alert instance. Default value is select all.",
+ "name": "monitorService",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Application Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "Log Analytics",
+ "Nagios",
+ "Platform",
+ "SCOM",
+ "ServiceHealth",
+ "SmartDetector",
+ "VM Insights",
+ "Zabbix"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorService",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "Filter by severity. Default value is select all.",
+ "name": "severity",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "filter by alert rule description",
+ "name": "description",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "alertRuleId": {
+ "description": "filter by alert rule id",
+ "name": "alertRuleId",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "actionGroup": {
+ "description": "filter by action group configured as part of action rule",
+ "name": "actionGroup",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "actionRuleName": {
+ "description": "filter by action rule name",
+ "name": "name",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "impactedScope": {
+ "description": "filter by impacted/target scope (provide comma separated list for multiple scopes). The value should be an well constructed ARM id of the scope.",
+ "name": "impactedScope",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "definitions": {
+ "errorResponse": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ },
+ "errorResponseBody": {
+ "description": "Details of error response.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code, intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "Description of the error, intended for display in user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the particular error, for example name of the property."
+ },
+ "details": {
+ "type": "array",
+ "description": "A list of additional details about the error.",
+ "items": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name"
+ }
+ }
+ },
+ "ManagedResource": {
+ "description": "An azure managed resource object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ]
+ },
+ "Scope": {
+ "type": "object",
+ "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.",
+ "properties": {
+ "scopeType": {
+ "type": "string",
+ "description": "type of target scope",
+ "enum": [
+ "ResourceGroup",
+ "Resource",
+ "Subscription"
+ ],
+ "x-ms-enum": {
+ "name": "ScopeType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "type": "array",
+ "description": "list of ARM IDs of the given scope type which will be the target of the given action rule.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Condition": {
+ "type": "object",
+ "description": "condition to trigger an action rule",
+ "properties": {
+ "operator": {
+ "type": "string",
+ "description": "operator for a given condition",
+ "enum": [
+ "Equals",
+ "NotEquals",
+ "Contains",
+ "DoesNotContain"
+ ],
+ "x-ms-enum": {
+ "name": "Operator",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "type": "array",
+ "description": "list of values to match for a given condition.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Conditions": {
+ "type": "object",
+ "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.",
+ "properties": {
+ "severity": {
+ "description": "filter alerts by severity",
+ "$ref": "#/definitions/Condition"
+ },
+ "monitorService": {
+ "description": "filter alerts by monitor service",
+ "$ref": "#/definitions/Condition"
+ },
+ "monitorCondition": {
+ "description": "filter alerts by monitor condition",
+ "$ref": "#/definitions/Condition"
+ },
+ "targetResourceType": {
+ "description": "filter alerts by target resource type",
+ "$ref": "#/definitions/Condition"
+ },
+ "alertRuleId": {
+ "description": "filter alerts by alert rule id",
+ "$ref": "#/definitions/Condition"
+ },
+ "description": {
+ "description": "filter alerts by alert rule description",
+ "$ref": "#/definitions/Condition"
+ },
+ "alertContext": {
+ "description": "filter alerts by alert context (payload)",
+ "$ref": "#/definitions/Condition"
+ }
+ }
+ },
+ "SuppressionConfig": {
+ "type": "object",
+ "description": "Suppression logic for a given action rule",
+ "required": [
+ "recurrenceType"
+ ],
+ "properties": {
+ "recurrenceType": {
+ "type": "string",
+ "description": "Specifies when the suppression should be applied",
+ "enum": [
+ "Always",
+ "Once",
+ "Daily",
+ "Weekly",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "SuppressionType",
+ "modelAsString": true
+ }
+ },
+ "schedule": {
+ "description": "suppression schedule configuration",
+ "$ref": "#/definitions/SuppressionSchedule"
+ }
+ }
+ },
+ "SuppressionSchedule": {
+ "type": "object",
+ "description": "Schedule for a given suppression configuration.",
+ "properties": {
+ "startDate": {
+ "type": "string",
+ "description": "Start date for suppression"
+ },
+ "endDate": {
+ "type": "string",
+ "description": "End date for suppression"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "Start time for suppression"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "End date for suppression"
+ },
+ "recurrenceValues": {
+ "type": "array",
+ "description": "Specifies the values for recurrence pattern",
+ "items": {
+ "type": "integer"
+ }
+ }
+ }
+ },
+ "ActionRule": {
+ "description": "Action rule object containing target scope, conditions and suppression logic",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "action rule properties",
+ "$ref": "#/definitions/ActionRuleProperties"
+ }
+ }
+ },
+ "ActionRuleProperties": {
+ "description": "Action rule properties defining scope, conditions, suppression logic for action rule",
+ "discriminator": "type",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "scope": {
+ "description": "scope on which action rule will apply",
+ "$ref": "#/definitions/Scope"
+ },
+ "conditions": {
+ "description": "conditions on which alerts will be filtered",
+ "$ref": "#/definitions/Conditions"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of action rule"
+ },
+ "createdAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation time of action rule. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "lastModifiedAt": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last updated time of action rule. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "createdBy": {
+ "type": "string",
+ "description": "Created by user name.",
+ "readOnly": true
+ },
+ "lastModifiedBy": {
+ "type": "string",
+ "description": "Last modified by user name.",
+ "readOnly": true
+ },
+ "status": {
+ "type": "string",
+ "description": "Indicates if the given action rule is enabled or disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ActionRuleStatus",
+ "modelAsString": true
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "Indicates type of action rule",
+ "enum": [
+ "Suppression",
+ "ActionGroup",
+ "Diagnostics"
+ ],
+ "x-ms-enum": {
+ "name": "ActionRuleType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Suppression": {
+ "title": "Suppression based Action Rule",
+ "description": "Action rule with suppression configuration",
+ "required": [
+ "suppressionConfig"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionRuleProperties"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "suppressionConfig": {
+ "description": "suppression configuration for the action rule",
+ "$ref": "#/definitions/SuppressionConfig"
+ }
+ }
+ },
+ "ActionGroup": {
+ "title": "Action Group based Action Rule",
+ "description": "Action rule with action group configuration",
+ "required": [
+ "actionGroupId"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionRuleProperties"
+ },
+ {
+ "type": "object"
+ }
+ ],
+ "properties": {
+ "actionGroupId": {
+ "type": "string",
+ "description": "Action group to trigger if action rule matches"
+ }
+ }
+ },
+ "Diagnostics": {
+ "title": "Diagnostics based Action Rule",
+ "description": "Action rule with diagnostics configuration",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ActionRuleProperties"
+ },
+ {
+ "type": "object"
+ }
+ ]
+ },
+ "ActionRulesList": {
+ "description": "List of action rules",
+ "properties": {
+ "nextLink": {
+ "type": "string",
+ "description": "URL to fetch the next set of action rules"
+ },
+ "value": {
+ "type": "array",
+ "description": "List of action rules",
+ "items": {
+ "$ref": "#/definitions/ActionRule"
+ }
+ }
+ }
+ },
+ "PatchProperties": {
+ "description": "Action rule properties supported by patch",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "Indicates if the given action rule is enabled or disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "ActionRuleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PatchObject": {
+ "description": "Data contract for patch",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "properties supported by patch operation",
+ "$ref": "#/definitions/PatchProperties"
+ },
+ "tags": {
+ "type": "object",
+ "description": "tags to be updated"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
index 750d45a37d73..8ae19f29a9e5 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
@@ -355,1456 +355,420 @@
}
}
}
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups": {
- "get": {
- "operationId": "SmartGroups_GetAll",
- "summary": "Get all Smart Groups within a specified subscription",
- "description": "List all the Smart Groups within a specified subscription. ",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/targetResource"
- },
- {
- "$ref": "#/parameters/targetResourceGroup"
- },
- {
- "$ref": "#/parameters/targetResourceType"
- },
- {
- "$ref": "#/parameters/monitorService"
- },
- {
- "$ref": "#/parameters/monitorCondition"
- },
- {
- "$ref": "#/parameters/severity"
- },
- {
- "$ref": "#/parameters/smartGroupState"
- },
- {
- "$ref": "#/parameters/timeRange"
- },
- {
- "$ref": "#/parameters/pageCount"
- },
- {
- "$ref": "#/parameters/smartGroupsSortBy"
- },
- {
- "$ref": "#/parameters/sortOrder"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "produces": [
- "application/json"
- ],
- "responses": {
- "200": {
- "description": "OK. Returns list of all smartGroups.",
- "schema": {
- "$ref": "#/definitions/smartGroupsList",
- "description": "List of smart groups in value property."
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List": {
- "$ref": "./examples/SmartGroups_List.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": {
- "get": {
- "operationId": "SmartGroups_GetById",
- "summary": "Get information related to a specific Smart Group.",
- "description": "Get information related to a specific Smart Group.",
- "produces": [
- "application/json"
- ],
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/smartGroupId"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the group with the specified smart group Id.",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/smartGroup"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get": {
- "$ref": "./examples/SmartGroups_GetById.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": {
- "post": {
- "operationId": "SmartGroups_ChangeState",
- "description": "Change the state of a Smart Group.",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/smartGroupId"
- },
- {
- "$ref": "#/parameters/api-version"
- },
- {
- "$ref": "#/parameters/newState"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Smart Group state updated.",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/smartGroup"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "changestate": {
- "$ref": "./examples/SmartGroups_ChangeState.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": {
- "get": {
- "operationId": "SmartGroups_GetHistory",
- "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/smartGroupId"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the list of changes of smart group.",
- "schema": {
- "$ref": "#/definitions/smartGroupModification"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Resolve": {
- "$ref": "./examples/SmartGroups_History.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/actionRules": {
- "get": {
- "summary": "Get all action rule in a given subscription",
- "description": "List all action rules of the subscription and given input filters",
- "operationId": "ActionRules_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/targetResourceGroup"
- },
- {
- "$ref": "#/parameters/targetResourceType"
- },
- {
- "$ref": "#/parameters/targetResource"
- },
- {
- "$ref": "#/parameters/severity"
- },
- {
- "$ref": "#/parameters/monitorService"
- },
- {
- "$ref": "#/parameters/impactedScope"
- },
- {
- "$ref": "#/parameters/description"
- },
- {
- "$ref": "#/parameters/alertRuleId"
- },
- {
- "$ref": "#/parameters/actionGroup"
- },
- {
- "$ref": "#/parameters/actionRuleName"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Return the list of action rules",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRulesList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "GetActionRulesSubscriptionWide": {
- "$ref": "./examples/ActionRules_List_Subscription.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules": {
- "get": {
- "summary": "Get all action rules created in a resource group",
- "operationId": "ActionRules_ListByResourceGroup",
- "description": "List all action rules of the subscription, created in given resource group and given input filters",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "$ref": "#/parameters/targetResourceGroup"
- },
- {
- "$ref": "#/parameters/targetResourceType"
- },
- {
- "$ref": "#/parameters/targetResource"
- },
- {
- "$ref": "#/parameters/severity"
- },
- {
- "$ref": "#/parameters/monitorService"
- },
- {
- "$ref": "#/parameters/impactedScope"
- },
- {
- "$ref": "#/parameters/description"
- },
- {
- "$ref": "#/parameters/alertRuleId"
- },
- {
- "$ref": "#/parameters/actionGroup"
- },
- {
- "$ref": "#/parameters/actionRuleName"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Return the list of action rules",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRulesList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "GetActionRulesResourceGroupWide": {
- "$ref": "./examples/ActionRules_List_ResourceGroup.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/actionRules/{actionRuleName}": {
- "get": {
- "summary": "Get action rule by name",
- "operationId": "ActionRules_GetByName",
- "description": "Get a specific action rule",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name of action rule that needs to be fetched",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the specific action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "GetActionRuleById": {
- "$ref": "./examples/ActionRules_GetById.json"
- }
- }
- },
- "put": {
- "summary": "Create/update an action rule",
- "operationId": "ActionRules_CreateUpdate",
- "description": "Creates/Updates a specific action rule",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name of action rule that needs to be created/updated",
- "required": true,
- "type": "string"
- },
- {
- "name": "actionRule",
- "in": "body",
- "description": "action rule to be created/updated",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the created/updated action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "PutActionRule": {
- "$ref": "./examples/ActionRules_Create_SuppressionRule.json"
- }
- }
- },
- "delete": {
- "summary": "Delete action rule",
- "description": "Deletes a given action rule",
- "operationId": "ActionRules_Delete",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name that needs to be deleted",
- "required": true,
- "type": "string"
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns true if deleted successfully",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "type": "boolean"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "DeleteActionRule": {
- "$ref": "./examples/ActionRules_Delete.json"
- }
- }
- },
- "patch": {
- "summary": "Patch action rule",
- "description": "Update enabled flag and/or tags for the given action rule",
- "operationId": "ActionRules_Update",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "name": "actionRuleName",
- "in": "path",
- "description": "The name that needs to be updated",
- "required": true,
- "type": "string"
- },
- {
- "name": "actionRulePatch",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PatchObject"
- },
- "description": "Parameters supplied to the operation."
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. Returns the created/updated action rule",
- "headers": {
- "x-ms-request-id": {
- "type": "string",
- "description": "Service generated Request ID."
- }
- },
- "schema": {
- "$ref": "#/definitions/ActionRule"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/errorResponse"
- }
- }
- },
- "x-ms-examples": {
- "PatchActionRule": {
- "$ref": "./examples/ActionRules_Patch.json"
- }
- }
- }
- }
- },
- "parameters": {
- "subscriptionId": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "The ID of the target subscription.",
- "minLength": 1
- },
- "resourceGroupName": {
- "name": "resourceGroupName",
- "description": "Resource group name where the resource is created.",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "api-version": {
- "name": "api-version",
- "description": "client API version",
- "type": "string",
- "in": "query",
- "required": true,
- "enum": [
- "2019-05-05-preview"
- ],
- "x-ms-enum": {
- "name": "api-version",
- "modelAsString": true
- }
- },
- "alertId": {
- "name": "alertId",
- "description": "Unique ID of an alert instance.",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "targetResourceGroup": {
- "description": "Filter by target resource group name. Default value is select all.",
- "name": "targetResourceGroup",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "targetResource": {
- "description": "Filter by target resource( which is full ARM ID) Default value is select all.",
- "name": "targetResource",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "targetResourceType": {
- "description": "Filter by target resource type. Default value is select all.",
- "name": "targetResourceType",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "monitorService": {
- "description": "Filter by monitor service which generates the alert instance. Default value is select all.",
- "name": "monitorService",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "Application Insights",
- "ActivityLog Administrative",
- "ActivityLog Security",
- "ActivityLog Recommendation",
- "ActivityLog Policy",
- "ActivityLog Autoscale",
- "Log Analytics",
- "Nagios",
- "Platform",
- "SCOM",
- "ServiceHealth",
- "SmartDetector",
- "VM Insights",
- "Zabbix"
- ],
- "x-ms-enum": {
- "name": "MonitorService",
- "modelAsString": true
- }
- },
- "severity": {
- "description": "Filter by severity. Default value is select all.",
- "name": "severity",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "Sev0",
- "Sev1",
- "Sev2",
- "Sev3",
- "Sev4"
- ],
- "x-ms-enum": {
- "name": "Severity",
- "modelAsString": true
- }
- },
- "smartGroupIdFilter": {
- "description": "Filter the alerts list by the Smart Group Id. Default value is none.",
- "name": "smartGroupId",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "smartGroupId": {
- "description": "Smart group unique id. ",
- "name": "smartGroupId",
- "type": "string",
- "in": "path",
- "required": true,
- "x-ms-parameter-location": "method"
- },
- "newState": {
- "description": "New state of the alert.",
- "name": "newState",
- "type": "string",
- "in": "query",
- "required": true,
- "x-ms-parameter-location": "method",
- "enum": [
- "New",
- "Acknowledged",
- "Closed"
- ],
- "x-ms-enum": {
- "name": "AlertState",
- "modelAsString": true
- }
- },
- "alertState": {
- "description": "Filter by state of the alert instance. Default value is to select all.",
- "name": "alertState",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "New",
- "Acknowledged",
- "Closed"
- ],
- "x-ms-enum": {
- "name": "AlertState",
- "modelAsString": true
- }
- },
- "smartGroupState": {
- "description": "Filter by state of the smart group. Default value is to select all.",
- "name": "smartGroupState",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "New",
- "Acknowledged",
- "Closed"
- ],
- "x-ms-enum": {
- "name": "AlertState",
- "modelAsString": true
- }
- },
- "monitorCondition": {
- "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.",
- "name": "monitorCondition",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "Fired",
- "Resolved"
- ],
- "x-ms-enum": {
- "name": "MonitorCondition",
- "modelAsString": true
- }
- },
- "alertRule": {
- "description": "Filter by specific alert rule. Default value is to select all.",
- "name": "alertRule",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "timeRange": {
- "description": "Filter by time range by below listed values. Default value is 1 day.",
- "name": "timeRange",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "1h",
- "1d",
- "7d",
- "30d"
- ],
- "x-ms-enum": {
- "name": "TimeRange",
- "modelAsString": true
- }
- },
- "customTimeRange": {
- "description": "Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.",
- "name": "customTimeRange",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "includeContext": {
- "description": "Include context which has contextual data specific to the monitor service. Default value is false'",
- "name": "includeContext",
- "type": "boolean",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "includeEgressConfig": {
- "description": "Include egress config which would be used for displaying the content in portal. Default value is 'false'.",
- "name": "includeEgressConfig",
- "type": "boolean",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "includeSmartGroupsCount": {
- "description": "Include count of the SmartGroups as part of the summary. Default value is 'false'.",
- "name": "includeSmartGroupsCount",
- "type": "boolean",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "pageCount": {
- "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.",
- "name": "pageCount",
- "type": "integer",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "alertsSortBy": {
- "description": "Sort the query results by input field, Default value is 'lastModifiedDateTime'.",
- "name": "sortBy",
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
"type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "name",
- "severity",
- "alertState",
- "monitorCondition",
- "targetResource",
- "targetResourceName",
- "targetResourceGroup",
- "targetResourceType",
- "startDateTime",
- "lastModifiedDateTime"
- ],
- "x-ms-enum": {
- "name": "AlertsSortByFields",
- "modelAsString": true
- }
+ "description": "The ID of the target subscription.",
+ "minLength": 1
},
- "alertsSummaryGroupBy": {
- "description": "This parameter allows the result set to be grouped by input fields (Maximum 2 comma separated fields supported). For example, groupby=severity or groupby=severity,alertstate.",
- "name": "groupby",
+ "api-version": {
+ "name": "api-version",
+ "description": "client API version",
"type": "string",
"in": "query",
"required": true,
- "x-ms-parameter-location": "method",
- "enum": [
- "severity",
- "alertState",
- "monitorCondition",
- "monitorService",
- "signalType",
- "alertRule"
- ],
- "x-ms-enum": {
- "name": "AlertsSummaryGroupByFields",
- "modelAsString": true
- }
- },
- "smartGroupsSortBy": {
- "description": "Sort the query results by input field. Default value is sort by 'lastModifiedDateTime'.",
- "name": "sortBy",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
"enum": [
- "alertsCount",
- "state",
- "severity",
- "startDateTime",
- "lastModifiedDateTime"
+ "2019-05-05-preview"
],
"x-ms-enum": {
- "name": "SmartGroupsSortByFields",
+ "name": "api-version",
"modelAsString": true
}
},
- "sortOrder": {
- "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.",
- "name": "sortOrder",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method",
- "enum": [
- "asc",
- "desc"
- ]
- },
- "select": {
- "description": "This filter allows to selection of the fields(comma separated) which would be part of the essential section. This would allow to project only the required fields rather than getting entire content. Default is to fetch all the fields in the essentials section.",
- "name": "select",
- "type": "string",
- "in": "query",
- "required": false,
- "x-ms-parameter-location": "method"
- },
- "description": {
- "description": "filter by alert rule description",
- "name": "description",
+ "alertId": {
+ "name": "alertId",
+ "description": "Unique ID of an alert instance.",
"type": "string",
- "in": "query",
- "required": false,
+ "in": "path",
+ "required": true,
"x-ms-parameter-location": "method"
},
- "alertRuleId": {
- "description": "filter by alert rule id",
- "name": "alertRuleId",
+ "targetResourceGroup": {
+ "description": "Filter by target resource group name. Default value is select all.",
+ "name": "targetResourceGroup",
"type": "string",
"in": "query",
"required": false,
"x-ms-parameter-location": "method"
},
- "actionGroup": {
- "description": "filter by action group configured as part of action rule",
- "name": "actionGroup",
+ "targetResource": {
+ "description": "Filter by target resource( which is full ARM ID) Default value is select all.",
+ "name": "targetResource",
"type": "string",
"in": "query",
"required": false,
"x-ms-parameter-location": "method"
},
- "actionRuleName": {
- "description": "filter by action rule name",
- "name": "name",
+ "targetResourceType": {
+ "description": "Filter by target resource type. Default value is select all.",
+ "name": "targetResourceType",
"type": "string",
"in": "query",
"required": false,
"x-ms-parameter-location": "method"
},
- "impactedScope": {
- "description": "filter by impacted/target scope (provide comma separated list for multiple scopes). The value should be an well constructed ARM id of the scope.",
- "name": "impactedScope",
+ "monitorService": {
+ "description": "Filter by monitor service which generates the alert instance. Default value is select all.",
+ "name": "monitorService",
"type": "string",
"in": "query",
"required": false,
- "x-ms-parameter-location": "method"
- },
- "identifier": {
- "name": "identifier",
- "description": "Identification of the information to be retrieved by API call.",
- "type": "string",
- "in": "query",
- "required": true,
+ "x-ms-parameter-location": "method",
"enum": [
- "MonitorServiceList"
- ],
- "x-ms-enum": {
- "name": "identifier",
- "modelAsString": true
- },
- "x-ms-parameter-location": "method"
- }
- },
- "definitions": {
- "operation": {
- "description": "Operation provided by provider",
- "properties": {
- "name": {
- "type": "string",
- "description": "Name of the operation"
- },
- "display": {
- "type": "object",
- "description": "Properties of the operation",
- "properties": {
- "provider": {
- "type": "string",
- "description": "Provider name"
- },
- "resource": {
- "type": "string",
- "description": "Resource name"
- },
- "operation": {
- "type": "string",
- "description": "Operation name"
- },
- "description": {
- "type": "string",
- "description": "Description of the operation"
- }
- }
- }
- }
- },
- "operationsList": {
- "description": "Lists the operations available in the AlertsManagement RP.",
- "properties": {
- "nextLink": {
- "description": "URL to fetch the next set of alerts.",
- "type": "string"
- },
- "value": {
- "description": "Array of operations",
- "type": "array",
- "items": {
- "$ref": "#/definitions/operation"
- }
- }
- },
- "required": [
- "value"
- ]
- },
- "errorResponse": {
- "description": "An error response from the service.",
- "properties": {
- "error": {
- "$ref": "#/definitions/errorResponseBody"
- }
- }
- },
- "errorResponseBody": {
- "description": "Details of error response.",
- "properties": {
- "code": {
- "type": "string",
- "description": "Error code, intended to be consumed programmatically."
- },
- "message": {
- "type": "string",
- "description": "Description of the error, intended for display in user interface."
- },
- "target": {
- "type": "string",
- "description": "Target of the particular error, for example name of the property."
- },
- "details": {
- "type": "array",
- "description": "A list of additional details about the error.",
- "items": {
- "$ref": "#/definitions/errorResponseBody"
- }
- }
- }
- },
- "Resource": {
- "x-ms-azure-resource": true,
- "description": "An azure resource object",
- "properties": {
- "id": {
- "type": "string",
- "readOnly": true,
- "description": "Azure resource Id"
- },
- "type": {
- "type": "string",
- "readOnly": true,
- "description": "Azure resource type"
- },
- "name": {
- "type": "string",
- "readOnly": true,
- "description": "Azure resource name"
- }
- }
- },
- "ManagedResource": {
- "description": "An azure managed resource object",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "properties": {
- "location": {
- "type": "string",
- "description": "Resource location",
- "x-ms-mutability": [
- "create",
- "read"
- ]
- },
- "tags": {
- "additionalProperties": {
- "type": "string"
- },
- "description": "Resource tags"
- }
- },
- "required": [
- "location"
- ]
- },
- "alert": {
- "description": "An alert created in alert management service.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
+ "Application Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "Log Analytics",
+ "Nagios",
+ "Platform",
+ "SCOM",
+ "ServiceHealth",
+ "SmartDetector",
+ "VM Insights",
+ "Zabbix"
],
- "properties": {
- "properties": {
- "$ref": "#/definitions/alertProperties"
- }
+ "x-ms-enum": {
+ "name": "MonitorService",
+ "modelAsString": true
}
},
- "alertsList": {
- "description": "List the alerts.",
- "properties": {
- "nextLink": {
- "description": "URL to fetch the next set of alerts.",
- "type": "string"
- },
- "value": {
- "description": "List of alerts",
- "type": "array",
- "items": {
- "$ref": "#/definitions/alert"
- }
- }
+ "severity": {
+ "description": "Filter by severity. Default value is select all.",
+ "name": "severity",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
}
},
- "alertProperties": {
- "type": "object",
- "description": "Alert property bag",
- "properties": {
- "essentials": {
- "$ref": "#/definitions/essentials"
- },
- "context": {
- "$ref": "#/definitions/alertContext"
- },
- "egressConfig": {
- "$ref": "#/definitions/egressConfig"
- }
- }
+ "smartGroupIdFilter": {
+ "description": "Filter the alerts list by the Smart Group Id. Default value is none.",
+ "name": "smartGroupId",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
},
- "egressConfig": {
- "type": "object",
- "description": "Config which would be used for displaying the data in portal.",
- "readOnly": true
+ "newState": {
+ "description": "New state of the alert.",
+ "name": "newState",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
},
- "alertContext": {
- "type": "object",
- "description": "Information specific to the monitor service that gives more contextual details about the alert.",
- "readOnly": true
+ "alertState": {
+ "description": "Filter by state of the alert instance. Default value is to select all.",
+ "name": "alertState",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
},
- "essentials": {
- "type": "object",
- "description": "This object contains consistent fields across different monitor services.",
- "properties": {
- "severity": {
- "type": "string",
- "description": "Severity of alert Sev0 being highest and Sev4 being lowest.",
- "readOnly": true,
- "enum": [
- "Sev0",
- "Sev1",
- "Sev2",
- "Sev3",
- "Sev4"
- ],
- "x-ms-enum": {
- "name": "Severity",
- "modelAsString": true
- }
- },
- "signalType": {
- "type": "string",
- "description": "The type of signal the alert is based on, which could be metrics, logs or activity logs.",
- "readOnly": true,
- "enum": [
- "Metric",
- "Log",
- "Unknown"
- ],
- "x-ms-enum": {
- "name": "SignalType",
- "modelAsString": true
- }
- },
- "alertState": {
- "type": "string",
- "description": "Alert object state, which can be modified by the user.",
- "readOnly": true,
- "enum": [
- "New",
- "Acknowledged",
- "Closed"
- ],
- "x-ms-enum": {
- "name": "AlertState",
- "modelAsString": true
- }
- },
- "monitorCondition": {
- "type": "string",
- "description": "Condition of the rule at the monitor service. It represents whether the underlying conditions have crossed the defined alert rule thresholds.",
- "readOnly": true,
- "enum": [
- "Fired",
- "Resolved"
- ],
- "x-ms-enum": {
- "name": "MonitorCondition",
- "modelAsString": true
- }
- },
- "targetResource": {
- "type": "string",
- "description": "Target ARM resource, on which alert got created."
- },
- "targetResourceName": {
- "type": "string",
- "description": "Name of the target ARM resource name, on which alert got created."
- },
- "targetResourceGroup": {
- "type": "string",
- "description": "Resource group of target ARM resource, on which alert got created."
- },
- "targetResourceType": {
- "type": "string",
- "description": "Resource type of target ARM resource, on which alert got created."
- },
- "monitorService": {
- "type": "string",
- "description": "Monitor service on which the rule(monitor) is set.",
- "readOnly": true,
- "enum": [
- "Application Insights",
- "ActivityLog Administrative",
- "ActivityLog Security",
- "ActivityLog Recommendation",
- "ActivityLog Policy",
- "ActivityLog Autoscale",
- "Log Analytics",
- "Nagios",
- "Platform",
- "SCOM",
- "ServiceHealth",
- "SmartDetector",
- "VM Insights",
- "Zabbix"
- ],
- "x-ms-enum": {
- "name": "MonitorService",
- "modelAsString": true
- }
- },
- "alertRule": {
- "type": "string",
- "description": "Rule(monitor) which fired alert instance. Depending on the monitor service, this would be ARM id or name of the rule.",
- "readOnly": true
- },
- "sourceCreatedId": {
- "type": "string",
- "description": "Unique Id created by monitor service for each alert instance. This could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc.",
- "readOnly": true
- },
- "smartGroupId": {
- "type": "string",
- "description": "Unique Id of the smart group",
- "readOnly": true
- },
- "smartGroupingReason": {
- "type": "string",
- "description": "Verbose reason describing the reason why this alert instance is added to a smart group",
- "readOnly": true
- },
- "startDateTime": {
- "type": "string",
- "format": "date-time",
- "description": "Creation time(ISO-8601 format) of alert instance.",
- "readOnly": true
- },
- "lastModifiedDateTime": {
- "type": "string",
- "format": "date-time",
- "description": "Last modification time(ISO-8601 format) of alert instance.",
- "readOnly": true
- },
- "monitorConditionResolvedDateTime": {
- "type": "string",
- "format": "date-time",
- "description": "Resolved time(ISO-8601 format) of alert instance. This will be updated when monitor service resolves the alert instance because the rule condition is no longer met.",
- "readOnly": true
- },
- "lastModifiedUserName": {
- "type": "string",
- "description": "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user.",
- "readOnly": true
- }
+ "monitorCondition": {
+ "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.",
+ "name": "monitorCondition",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Fired",
+ "Resolved"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorCondition",
+ "modelAsString": true
}
},
- "alertModification": {
- "description": "Alert Modification details",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
+ "alertRule": {
+ "description": "Filter by specific alert rule. Default value is to select all.",
+ "name": "alertRule",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "timeRange": {
+ "description": "Filter by time range by below listed values. Default value is 1 day.",
+ "name": "timeRange",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "1h",
+ "1d",
+ "7d",
+ "30d"
],
- "properties": {
- "properties": {
- "$ref": "#/definitions/alertModificationProperties"
- }
+ "x-ms-enum": {
+ "name": "TimeRange",
+ "modelAsString": true
}
},
- "alertModificationProperties": {
- "type": "object",
- "description": "Properties of the alert modification item.",
+ "customTimeRange": {
+ "description": "Filter by custom time range in the format / where time is in (ISO-8601 format)'. Permissible values is within 30 days from query time. Either timeRange or customTimeRange could be used but not both. Default is none.",
+ "name": "customTimeRange",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "includeContext": {
+ "description": "Include context which has contextual data specific to the monitor service. Default value is false'",
+ "name": "includeContext",
+ "type": "boolean",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "includeEgressConfig": {
+ "description": "Include egress config which would be used for displaying the content in portal. Default value is 'false'.",
+ "name": "includeEgressConfig",
+ "type": "boolean",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "includeSmartGroupsCount": {
+ "description": "Include count of the SmartGroups as part of the summary. Default value is 'false'.",
+ "name": "includeSmartGroupsCount",
+ "type": "boolean",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "pageCount": {
+ "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.",
+ "name": "pageCount",
+ "type": "integer",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "alertsSortBy": {
+ "description": "Sort the query results by input field, Default value is 'lastModifiedDateTime'.",
+ "name": "sortBy",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "name",
+ "severity",
+ "alertState",
+ "monitorCondition",
+ "targetResource",
+ "targetResourceName",
+ "targetResourceGroup",
+ "targetResourceType",
+ "startDateTime",
+ "lastModifiedDateTime"
+ ],
+ "x-ms-enum": {
+ "name": "AlertsSortByFields",
+ "modelAsString": true
+ }
+ },
+ "alertsSummaryGroupBy": {
+ "description": "This parameter allows the result set to be grouped by input fields (Maximum 2 comma separated fields supported). For example, groupby=severity or groupby=severity,alertstate.",
+ "name": "groupby",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "severity",
+ "alertState",
+ "monitorCondition",
+ "monitorService",
+ "signalType",
+ "alertRule"
+ ],
+ "x-ms-enum": {
+ "name": "AlertsSummaryGroupByFields",
+ "modelAsString": true
+ }
+ },
+ "sortOrder": {
+ "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.",
+ "name": "sortOrder",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "asc",
+ "desc"
+ ]
+ },
+ "select": {
+ "description": "This filter allows to selection of the fields(comma separated) which would be part of the essential section. This would allow to project only the required fields rather than getting entire content. Default is to fetch all the fields in the essentials section.",
+ "name": "select",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "identifier": {
+ "name": "identifier",
+ "description": "Identification of the information to be retrieved by API call.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "MonitorServiceList"
+ ],
+ "x-ms-enum": {
+ "name": "identifier",
+ "modelAsString": true
+ },
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "definitions": {
+ "operation": {
+ "description": "Operation provided by provider",
"properties": {
- "alertId": {
+ "name": {
"type": "string",
- "description": "Unique Id of the alert for which the history is being retrieved",
- "readOnly": true
+ "description": "Name of the operation"
},
- "modifications": {
- "type": "array",
- "description": "Modification details",
- "items": {
- "$ref": "#/definitions/alertModificationItem"
+ "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"
+ }
}
}
}
},
- "alertModificationItem": {
- "description": "Alert modification item.",
+ "operationsList": {
+ "description": "Lists the operations available in the AlertsManagement RP.",
"properties": {
- "modificationEvent": {
- "type": "string",
- "description": "Reason for the modification",
- "enum": [
- "AlertCreated",
- "StateChange",
- "MonitorConditionChange",
- "SeverityChange",
- "ActionRuleTriggered",
- "ActionRuleSuppressed",
- "ActionsTriggered",
- "ActionsSuppressed",
- "ActionsFailed"
- ],
- "x-ms-enum": {
- "name": "AlertModificationEvent"
- }
- },
- "oldValue": {
- "type": "string",
- "description": "Old value"
- },
- "newValue": {
- "type": "string",
- "description": "New value"
- },
- "modifiedAt": {
- "type": "string",
- "description": "Modified date and time"
- },
- "modifiedBy": {
- "type": "string",
- "description": "Modified user details (Principal client name)"
- },
- "comments": {
- "type": "string",
- "description": "Modification comments"
+ "nextLink": {
+ "description": "URL to fetch the next set of alerts.",
+ "type": "string"
},
- "description": {
- "type": "string",
- "description": "Description of the modification"
- }
- }
- },
- "smartGroupModification": {
- "description": "Alert Modification details",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
+ "value": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/operation"
+ }
}
- ],
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "errorResponse": {
+ "description": "An error response from the service.",
"properties": {
- "properties": {
- "$ref": "#/definitions/smartGroupModificationProperties"
+ "error": {
+ "$ref": "#/definitions/errorResponseBody"
}
}
},
- "smartGroupModificationProperties": {
- "description": "Properties of the smartGroup modification item.",
+ "errorResponseBody": {
+ "description": "Details of error response.",
"properties": {
- "smartGroupId": {
+ "code": {
"type": "string",
- "description": "Unique Id of the smartGroup for which the history is being retrieved",
- "readOnly": true
+ "description": "Error code, intended to be consumed programmatically."
},
- "modifications": {
+ "message": {
+ "type": "string",
+ "description": "Description of the error, intended for display in user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the particular error, for example name of the property."
+ },
+ "details": {
"type": "array",
- "description": "Modification details",
+ "description": "A list of additional details about the error.",
"items": {
- "$ref": "#/definitions/smartGroupModificationItem"
+ "$ref": "#/definitions/errorResponseBody"
}
- },
- "nextLink": {
- "description": "URL to fetch the next set of results.",
- "type": "string"
}
}
},
- "smartGroupModificationItem": {
- "description": "smartGroup modification item.",
+ "Resource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object",
"properties": {
- "modificationEvent": {
- "type": "string",
- "description": "Reason for the modification",
- "enum": [
- "SmartGroupCreated",
- "StateChange",
- "AlertAdded",
- "AlertRemoved"
- ],
- "x-ms-enum": {
- "name": "SmartGroupModificationEvent"
- }
- },
- "oldValue": {
- "type": "string",
- "description": "Old value"
- },
- "newValue": {
- "type": "string",
- "description": "New value"
- },
- "modifiedAt": {
- "type": "string",
- "description": "Modified date and time"
- },
- "modifiedBy": {
+ "id": {
"type": "string",
- "description": "Modified user details (Principal client name)"
+ "readOnly": true,
+ "description": "Azure resource Id"
},
- "comments": {
+ "type": {
"type": "string",
- "description": "Modification comments"
+ "readOnly": true,
+ "description": "Azure resource type"
},
- "description": {
+ "name": {
"type": "string",
- "description": "Description of the modification"
+ "readOnly": true,
+ "description": "Azure resource name"
}
}
},
- "alertsSummary": {
- "description": "Summary of alerts based on the input filters and 'groupby' parameters.",
+ "alert": {
+ "description": "An alert created in alert management service.",
"allOf": [
{
"$ref": "#/definitions/Resource"
@@ -1812,61 +776,11 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/alertsSummaryGroup"
- }
- }
- },
- "alertsSummaryGroup": {
- "type": "object",
- "description": "Group the result set.",
- "properties": {
- "total": {
- "type": "integer",
- "description": "Total count of the result set."
- },
- "smartGroupsCount": {
- "type": "integer",
- "description": "Total count of the smart groups."
- },
- "groupedby": {
- "type": "string",
- "description": "Name of the field aggregated"
- },
- "values": {
- "type": "array",
- "description": "List of the items",
- "items": {
- "$ref": "#/definitions/alertsSummaryGroupItem"
- }
- }
- }
- },
- "alertsSummaryGroupItem": {
- "type": "object",
- "description": "Alerts summary group item",
- "properties": {
- "name": {
- "type": "string",
- "description": "Value of the aggregated field"
- },
- "count": {
- "type": "integer",
- "description": "Count of the aggregated field"
- },
- "groupedby": {
- "type": "string",
- "description": "Name of the field aggregated"
- },
- "values": {
- "type": "array",
- "description": "List of the items",
- "items": {
- "$ref": "#/definitions/alertsSummaryGroupItem"
- }
+ "$ref": "#/definitions/alertProperties"
}
}
},
- "smartGroupsList": {
+ "alertsList": {
"description": "List the alerts.",
"properties": {
"nextLink": {
@@ -1877,50 +791,43 @@
"description": "List of alerts",
"type": "array",
"items": {
- "$ref": "#/definitions/smartGroup"
+ "$ref": "#/definitions/alert"
}
}
}
},
- "smartGroup": {
- "description": "Set of related alerts grouped together smartly by AMS.",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
+ "alertProperties": {
+ "type": "object",
+ "description": "Alert property bag",
"properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/smartGroupProperties"
+ "essentials": {
+ "$ref": "#/definitions/essentials"
+ },
+ "context": {
+ "$ref": "#/definitions/alertContext"
+ },
+ "egressConfig": {
+ "$ref": "#/definitions/egressConfig"
}
}
},
- "smartGroupProperties": {
+ "egressConfig": {
+ "type": "object",
+ "description": "Config which would be used for displaying the data in portal.",
+ "readOnly": true
+ },
+ "alertContext": {
+ "type": "object",
+ "description": "Information specific to the monitor service that gives more contextual details about the alert.",
+ "readOnly": true
+ },
+ "essentials": {
"type": "object",
- "description": "Properties of smart group.",
+ "description": "This object contains consistent fields across different monitor services.",
"properties": {
- "alertsCount": {
- "type": "integer",
- "description": "Total number of alerts in smart group"
- },
- "smartGroupState": {
- "type": "string",
- "description": "Smart group state",
- "readOnly": true,
- "enum": [
- "New",
- "Acknowledged",
- "Closed"
- ],
- "x-ms-enum": {
- "name": "State",
- "modelAsString": true
- }
- },
"severity": {
"type": "string",
- "description": "Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the alerts in the group.",
+ "description": "Severity of alert Sev0 being highest and Sev4 being lowest.",
"readOnly": true,
"enum": [
"Sev0",
@@ -1934,416 +841,271 @@
"modelAsString": true
}
},
- "startDateTime": {
- "type": "string",
- "format": "date-time",
- "description": "Creation time of smart group. Date-Time in ISO-8601 format.",
- "readOnly": true
- },
- "lastModifiedDateTime": {
- "type": "string",
- "format": "date-time",
- "description": "Last updated time of smart group. Date-Time in ISO-8601 format.",
- "readOnly": true
- },
- "lastModifiedUserName": {
- "type": "string",
- "description": "Last modified by user name.",
- "readOnly": true
- },
- "resources": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of target resources in the smart group"
- },
- "resourceTypes": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of target resource types in the smart group"
- },
- "resourceGroups": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of target resource groups in the smart group"
- },
- "monitorServices": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of monitorServices in the smart group"
- },
- "monitorConditions": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of monitorConditions in the smart group"
- },
- "alertStates": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of alertStates in the smart group"
- },
- "alertSeverities": {
- "items": {
- "$ref": "#/definitions/smartGroupAggregatedProperty"
- },
- "type": "array",
- "description": "Summary of alertSeverities in the smart group"
- },
- "nextLink": {
- "type": "string",
- "description": "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts."
- }
- }
- },
- "smartGroupAggregatedProperty": {
- "type": "object",
- "description": "Aggregated property of each type",
- "properties": {
- "name": {
- "type": "string",
- "description": "Name of the type."
- },
- "count": {
- "type": "integer",
- "description": "Total number of items of type."
- }
- }
- },
- "Scope": {
- "type": "object",
- "description": "Target scope for a given action rule. By default scope will be the subscription. User can also provide list of resource groups or list of resources from the scope subscription as well.",
- "properties": {
- "scopeType": {
+ "signalType": {
"type": "string",
- "description": "type of target scope",
+ "description": "The type of signal the alert is based on, which could be metrics, logs or activity logs.",
+ "readOnly": true,
"enum": [
- "ResourceGroup",
- "Resource",
- "Subscription"
+ "Metric",
+ "Log",
+ "Unknown"
],
"x-ms-enum": {
- "name": "ScopeType",
+ "name": "SignalType",
"modelAsString": true
}
},
- "values": {
- "type": "array",
- "description": "list of ARM IDs of the given scope type which will be the target of the given action rule.",
- "items": {
- "type": "string"
+ "alertState": {
+ "type": "string",
+ "description": "Alert object state, which can be modified by the user.",
+ "readOnly": true,
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
}
- }
- }
- },
- "Condition": {
- "type": "object",
- "description": "condition to trigger an action rule",
- "properties": {
- "operator": {
+ },
+ "monitorCondition": {
"type": "string",
- "description": "operator for a given condition",
+ "description": "Condition of the rule at the monitor service. It represents whether the underlying conditions have crossed the defined alert rule thresholds.",
+ "readOnly": true,
"enum": [
- "Equals",
- "NotEquals",
- "Contains",
- "DoesNotContain"
+ "Fired",
+ "Resolved"
],
"x-ms-enum": {
- "name": "Operator",
+ "name": "MonitorCondition",
"modelAsString": true
}
},
- "values": {
- "type": "array",
- "description": "list of values to match for a given condition.",
- "items": {
- "type": "string"
- }
- }
- }
- },
- "Conditions": {
- "type": "object",
- "description": "Conditions in alert instance to be matched for a given action rule. Default value is all. Multiple values could be provided with comma separation.",
- "properties": {
- "severity": {
- "description": "filter alerts by severity",
- "$ref": "#/definitions/Condition"
+ "targetResource": {
+ "type": "string",
+ "description": "Target ARM resource, on which alert got created."
},
- "monitorService": {
- "description": "filter alerts by monitor service",
- "$ref": "#/definitions/Condition"
+ "targetResourceName": {
+ "type": "string",
+ "description": "Name of the target ARM resource name, on which alert got created."
},
- "monitorCondition": {
- "description": "filter alerts by monitor condition",
- "$ref": "#/definitions/Condition"
+ "targetResourceGroup": {
+ "type": "string",
+ "description": "Resource group of target ARM resource, on which alert got created."
},
"targetResourceType": {
- "description": "filter alerts by target resource type",
- "$ref": "#/definitions/Condition"
- },
- "alertRuleId": {
- "description": "filter alerts by alert rule id",
- "$ref": "#/definitions/Condition"
- },
- "description": {
- "description": "filter alerts by alert rule description",
- "$ref": "#/definitions/Condition"
+ "type": "string",
+ "description": "Resource type of target ARM resource, on which alert got created."
},
- "alertContext": {
- "description": "filter alerts by alert context (payload)",
- "$ref": "#/definitions/Condition"
- }
- }
- },
- "SuppressionConfig": {
- "type": "object",
- "description": "Suppression logic for a given action rule",
- "required": [
- "recurrenceType"
- ],
- "properties": {
- "recurrenceType": {
+ "monitorService": {
"type": "string",
- "description": "Specifies when the suppression should be applied",
+ "description": "Monitor service on which the rule(monitor) is set.",
+ "readOnly": true,
"enum": [
- "Always",
- "Once",
- "Daily",
- "Weekly",
- "Monthly"
+ "Application Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "Log Analytics",
+ "Nagios",
+ "Platform",
+ "SCOM",
+ "ServiceHealth",
+ "SmartDetector",
+ "VM Insights",
+ "Zabbix"
],
"x-ms-enum": {
- "name": "SuppressionType",
+ "name": "MonitorService",
"modelAsString": true
}
},
- "schedule": {
- "description": "suppression schedule configuration",
- "$ref": "#/definitions/SuppressionSchedule"
- }
- }
- },
- "SuppressionSchedule": {
- "type": "object",
- "description": "Schedule for a given suppression configuration.",
- "properties": {
- "startDate": {
+ "alertRule": {
+ "type": "string",
+ "description": "Rule(monitor) which fired alert instance. Depending on the monitor service, this would be ARM id or name of the rule.",
+ "readOnly": true
+ },
+ "sourceCreatedId": {
+ "type": "string",
+ "description": "Unique Id created by monitor service for each alert instance. This could be used to track the issue at the monitor service, in case of Nagios, Zabbix, SCOM etc.",
+ "readOnly": true
+ },
+ "smartGroupId": {
"type": "string",
- "description": "Start date for suppression"
+ "description": "Unique Id of the smart group",
+ "readOnly": true
},
- "endDate": {
+ "smartGroupingReason": {
"type": "string",
- "description": "End date for suppression"
+ "description": "Verbose reason describing the reason why this alert instance is added to a smart group",
+ "readOnly": true
},
- "startTime": {
+ "startDateTime": {
"type": "string",
- "description": "Start time for suppression"
+ "format": "date-time",
+ "description": "Creation time(ISO-8601 format) of alert instance.",
+ "readOnly": true
},
- "endTime": {
+ "lastModifiedDateTime": {
"type": "string",
- "description": "End date for suppression"
+ "format": "date-time",
+ "description": "Last modification time(ISO-8601 format) of alert instance.",
+ "readOnly": true
},
- "recurrenceValues": {
- "type": "array",
- "description": "Specifies the values for recurrence pattern",
- "items": {
- "type": "integer"
- }
+ "monitorConditionResolvedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Resolved time(ISO-8601 format) of alert instance. This will be updated when monitor service resolves the alert instance because the rule condition is no longer met.",
+ "readOnly": true
+ },
+ "lastModifiedUserName": {
+ "type": "string",
+ "description": "User who last modified the alert, in case of monitor service updates user would be 'system', otherwise name of the user.",
+ "readOnly": true
}
}
},
- "ActionRule": {
- "description": "Action rule object containing target scope, conditions and suppression logic",
+ "alertModification": {
+ "description": "Alert Modification details",
"allOf": [
{
- "$ref": "#/definitions/ManagedResource"
+ "$ref": "#/definitions/Resource"
}
],
"properties": {
"properties": {
- "description": "action rule properties",
- "$ref": "#/definitions/ActionRuleProperties"
+ "$ref": "#/definitions/alertModificationProperties"
}
}
},
- "ActionRuleProperties": {
- "description": "Action rule properties defining scope, conditions, suppression logic for action rule",
- "discriminator": "type",
- "required": [
- "type"
- ],
+ "alertModificationProperties": {
+ "type": "object",
+ "description": "Properties of the alert modification item.",
"properties": {
- "scope": {
- "description": "scope on which action rule will apply",
- "$ref": "#/definitions/Scope"
- },
- "conditions": {
- "description": "conditions on which alerts will be filtered",
- "$ref": "#/definitions/Conditions"
+ "alertId": {
+ "type": "string",
+ "description": "Unique Id of the alert for which the history is being retrieved",
+ "readOnly": true
},
- "description": {
+ "modifications": {
+ "type": "array",
+ "description": "Modification details",
+ "items": {
+ "$ref": "#/definitions/alertModificationItem"
+ }
+ }
+ }
+ },
+ "alertModificationItem": {
+ "description": "Alert modification item.",
+ "properties": {
+ "modificationEvent": {
"type": "string",
- "description": "Description of action rule"
+ "description": "Reason for the modification",
+ "enum": [
+ "AlertCreated",
+ "StateChange",
+ "MonitorConditionChange",
+ "SeverityChange",
+ "ActionRuleTriggered",
+ "ActionRuleSuppressed",
+ "ActionsTriggered",
+ "ActionsSuppressed",
+ "ActionsFailed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertModificationEvent"
+ }
},
- "createdAt": {
+ "oldValue": {
"type": "string",
- "format": "date-time",
- "description": "Creation time of action rule. Date-Time in ISO-8601 format.",
- "readOnly": true
+ "description": "Old value"
},
- "lastModifiedAt": {
+ "newValue": {
"type": "string",
- "format": "date-time",
- "description": "Last updated time of action rule. Date-Time in ISO-8601 format.",
- "readOnly": true
+ "description": "New value"
},
- "createdBy": {
+ "modifiedAt": {
"type": "string",
- "description": "Created by user name.",
- "readOnly": true
+ "description": "Modified date and time"
},
- "lastModifiedBy": {
+ "modifiedBy": {
"type": "string",
- "description": "Last modified by user name.",
- "readOnly": true
+ "description": "Modified user details (Principal client name)"
},
- "status": {
+ "comments": {
"type": "string",
- "description": "Indicates if the given action rule is enabled or disabled",
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "x-ms-enum": {
- "name": "ActionRuleStatus",
- "modelAsString": true
- }
+ "description": "Modification comments"
},
- "type": {
+ "description": {
"type": "string",
- "description": "Indicates type of action rule",
- "enum": [
- "Suppression",
- "ActionGroup",
- "Diagnostics"
- ],
- "x-ms-enum": {
- "name": "ActionRuleType",
- "modelAsString": true
- }
+ "description": "Description of the modification"
}
}
},
- "Suppression": {
- "title": "Suppression based Action Rule",
- "description": "Action rule with suppression configuration",
- "required": [
- "suppressionConfig"
- ],
+ "alertsSummary": {
+ "description": "Summary of alerts based on the input filters and 'groupby' parameters.",
"allOf": [
{
- "$ref": "#/definitions/ActionRuleProperties"
- },
- {
- "type": "object"
+ "$ref": "#/definitions/Resource"
}
],
"properties": {
- "suppressionConfig": {
- "description": "suppression configuration for the action rule",
- "$ref": "#/definitions/SuppressionConfig"
+ "properties": {
+ "$ref": "#/definitions/alertsSummaryGroup"
}
}
},
- "ActionGroup": {
- "title": "Action Group based Action Rule",
- "description": "Action rule with action group configuration",
- "required": [
- "actionGroupId"
- ],
- "allOf": [
- {
- "$ref": "#/definitions/ActionRuleProperties"
- },
- {
- "type": "object"
- }
- ],
+ "alertsSummaryGroup": {
+ "type": "object",
+ "description": "Group the result set.",
"properties": {
- "actionGroupId": {
- "type": "string",
- "description": "Action group to trigger if action rule matches"
- }
- }
- },
- "Diagnostics": {
- "title": "Diagnostics based Action Rule",
- "description": "Action rule with diagnostics configuration",
- "allOf": [
- {
- "$ref": "#/definitions/ActionRuleProperties"
+ "total": {
+ "type": "integer",
+ "description": "Total count of the result set."
},
- {
- "type": "object"
- }
- ]
- },
- "ActionRulesList": {
- "description": "List of action rules",
- "properties": {
- "nextLink": {
+ "smartGroupsCount": {
+ "type": "integer",
+ "description": "Total count of the smart groups."
+ },
+ "groupedby": {
"type": "string",
- "description": "URL to fetch the next set of action rules"
+ "description": "Name of the field aggregated"
},
- "value": {
+ "values": {
"type": "array",
- "description": "List of action rules",
+ "description": "List of the items",
"items": {
- "$ref": "#/definitions/ActionRule"
+ "$ref": "#/definitions/alertsSummaryGroupItem"
}
}
}
},
- "PatchProperties": {
- "description": "Action rule properties supported by patch",
+ "alertsSummaryGroupItem": {
+ "type": "object",
+ "description": "Alerts summary group item",
"properties": {
- "status": {
+ "name": {
"type": "string",
- "description": "Indicates if the given action rule is enabled or disabled",
- "enum": [
- "Enabled",
- "Disabled"
- ],
- "x-ms-enum": {
- "name": "ActionRuleStatus",
- "modelAsString": true
- }
- }
- }
- },
- "PatchObject": {
- "description": "Data contract for patch",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "properties supported by patch operation",
- "$ref": "#/definitions/PatchProperties"
+ "description": "Value of the aggregated field"
},
- "tags": {
- "type": "object",
- "description": "tags to be updated"
+ "count": {
+ "type": "integer",
+ "description": "Count of the aggregated field"
+ },
+ "groupedby": {
+ "type": "string",
+ "description": "Name of the field aggregated"
+ },
+ "values": {
+ "type": "array",
+ "description": "List of the items",
+ "items": {
+ "$ref": "#/definitions/alertsSummaryGroupItem"
+ }
}
}
},
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
new file mode 100644
index 000000000000..c30ce89e0d8a
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
@@ -0,0 +1,727 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-05-05-preview",
+ "title": "Azure Alerts Management Service Resource Provider",
+ "description": "APIs for Azure Smart Groups CRUD operations."
+ },
+ "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/smartGroups": {
+ "get": {
+ "operationId": "SmartGroups_GetAll",
+ "summary": "Get all Smart Groups within a specified subscription",
+ "description": "List all the Smart Groups within a specified subscription. ",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/targetResource"
+ },
+ {
+ "$ref": "#/parameters/targetResourceGroup"
+ },
+ {
+ "$ref": "#/parameters/targetResourceType"
+ },
+ {
+ "$ref": "#/parameters/monitorService"
+ },
+ {
+ "$ref": "#/parameters/monitorCondition"
+ },
+ {
+ "$ref": "#/parameters/severity"
+ },
+ {
+ "$ref": "#/parameters/smartGroupState"
+ },
+ {
+ "$ref": "#/parameters/timeRange"
+ },
+ {
+ "$ref": "#/parameters/pageCount"
+ },
+ {
+ "$ref": "#/parameters/smartGroupsSortBy"
+ },
+ {
+ "$ref": "#/parameters/sortOrder"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns list of all smartGroups.",
+ "schema": {
+ "$ref": "#/definitions/smartGroupsList",
+ "description": "List of smart groups in value property."
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List": {
+ "$ref": "./examples/SmartGroups_List.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}": {
+ "get": {
+ "operationId": "SmartGroups_GetById",
+ "summary": "Get information related to a specific Smart Group.",
+ "description": "Get information related to a specific Smart Group.",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/smartGroupId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the group with the specified smart group Id.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/smartGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get": {
+ "$ref": "./examples/SmartGroups_GetById.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/changeState": {
+ "post": {
+ "operationId": "SmartGroups_ChangeState",
+ "description": "Change the state of a Smart Group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/smartGroupId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/newState"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Smart Group state updated.",
+ "headers": {
+ "x-ms-request-id": {
+ "type": "string",
+ "description": "Service generated Request ID."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/smartGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "changestate": {
+ "$ref": "./examples/SmartGroups_ChangeState.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/smartGroups/{smartGroupId}/history": {
+ "get": {
+ "operationId": "SmartGroups_GetHistory",
+ "description": "Get the history a smart group, which captures any Smart Group state changes (New/Acknowledged/Closed) .",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/smartGroupId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. Returns the list of changes of smart group.",
+ "schema": {
+ "$ref": "#/definitions/smartGroupModification"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/errorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Resolve": {
+ "$ref": "./examples/SmartGroups_History.json"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription.",
+ "minLength": 1
+ },
+ "api-version": {
+ "name": "api-version",
+ "description": "client API version",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "enum": [
+ "2019-05-05-preview"
+ ],
+ "x-ms-enum": {
+ "name": "api-version",
+ "modelAsString": true
+ }
+ },
+ "targetResourceGroup": {
+ "description": "Filter by target resource group name. Default value is select all.",
+ "name": "targetResourceGroup",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResource": {
+ "description": "Filter by target resource( which is full ARM ID) Default value is select all.",
+ "name": "targetResource",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "targetResourceType": {
+ "description": "Filter by target resource type. Default value is select all.",
+ "name": "targetResourceType",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "monitorService": {
+ "description": "Filter by monitor service which generates the alert instance. Default value is select all.",
+ "name": "monitorService",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Application Insights",
+ "ActivityLog Administrative",
+ "ActivityLog Security",
+ "ActivityLog Recommendation",
+ "ActivityLog Policy",
+ "ActivityLog Autoscale",
+ "Log Analytics",
+ "Nagios",
+ "Platform",
+ "SCOM",
+ "ServiceHealth",
+ "SmartDetector",
+ "VM Insights",
+ "Zabbix"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorService",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "description": "Filter by severity. Default value is select all.",
+ "name": "severity",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "smartGroupId": {
+ "description": "Smart group unique id. ",
+ "name": "smartGroupId",
+ "type": "string",
+ "in": "path",
+ "required": true,
+ "x-ms-parameter-location": "method"
+ },
+ "newState": {
+ "description": "New state of the alert.",
+ "name": "newState",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
+ },
+ "smartGroupState": {
+ "description": "Filter by state of the smart group. Default value is to select all.",
+ "name": "smartGroupState",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertState",
+ "modelAsString": true
+ }
+ },
+ "monitorCondition": {
+ "description": "Filter by monitor condition which is either 'Fired' or 'Resolved'. Default value is to select all.",
+ "name": "monitorCondition",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Fired",
+ "Resolved"
+ ],
+ "x-ms-enum": {
+ "name": "MonitorCondition",
+ "modelAsString": true
+ }
+ },
+ "timeRange": {
+ "description": "Filter by time range by below listed values. Default value is 1 day.",
+ "name": "timeRange",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "1h",
+ "1d",
+ "7d",
+ "30d"
+ ],
+ "x-ms-enum": {
+ "name": "TimeRange",
+ "modelAsString": true
+ }
+ },
+ "pageCount": {
+ "description": "Determines number of alerts returned per page in response. Permissible value is between 1 to 250. When the \"includeContent\" filter is selected, maximum value allowed is 25. Default value is 25.",
+ "name": "pageCount",
+ "type": "integer",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "smartGroupsSortBy": {
+ "description": "Sort the query results by input field. Default value is sort by 'lastModifiedDateTime'.",
+ "name": "sortBy",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "alertsCount",
+ "state",
+ "severity",
+ "startDateTime",
+ "lastModifiedDateTime"
+ ],
+ "x-ms-enum": {
+ "name": "SmartGroupsSortByFields",
+ "modelAsString": true
+ }
+ },
+ "sortOrder": {
+ "description": "Sort the query results order in either ascending or descending. Default value is 'desc' for time fields and 'asc' for others.",
+ "name": "sortOrder",
+ "type": "string",
+ "in": "query",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "asc",
+ "desc"
+ ]
+ }
+ },
+ "definitions": {
+ "errorResponse": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ },
+ "errorResponseBody": {
+ "description": "Details of error response.",
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Error code, intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "Description of the error, intended for display in user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "Target of the particular error, for example name of the property."
+ },
+ "details": {
+ "type": "array",
+ "description": "A list of additional details about the error.",
+ "items": {
+ "$ref": "#/definitions/errorResponseBody"
+ }
+ }
+ }
+ },
+ "Resource": {
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource name"
+ }
+ }
+ },
+ "smartGroupModification": {
+ "description": "Alert Modification details",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/smartGroupModificationProperties"
+ }
+ }
+ },
+ "smartGroupModificationProperties": {
+ "description": "Properties of the smartGroup modification item.",
+ "properties": {
+ "smartGroupId": {
+ "type": "string",
+ "description": "Unique Id of the smartGroup for which the history is being retrieved",
+ "readOnly": true
+ },
+ "modifications": {
+ "type": "array",
+ "description": "Modification details",
+ "items": {
+ "$ref": "#/definitions/smartGroupModificationItem"
+ }
+ },
+ "nextLink": {
+ "description": "URL to fetch the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "smartGroupModificationItem": {
+ "description": "smartGroup modification item.",
+ "properties": {
+ "modificationEvent": {
+ "type": "string",
+ "description": "Reason for the modification",
+ "enum": [
+ "SmartGroupCreated",
+ "StateChange",
+ "AlertAdded",
+ "AlertRemoved"
+ ],
+ "x-ms-enum": {
+ "name": "SmartGroupModificationEvent"
+ }
+ },
+ "oldValue": {
+ "type": "string",
+ "description": "Old value"
+ },
+ "newValue": {
+ "type": "string",
+ "description": "New value"
+ },
+ "modifiedAt": {
+ "type": "string",
+ "description": "Modified date and time"
+ },
+ "modifiedBy": {
+ "type": "string",
+ "description": "Modified user details (Principal client name)"
+ },
+ "comments": {
+ "type": "string",
+ "description": "Modification comments"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the modification"
+ }
+ }
+ },
+ "smartGroupsList": {
+ "description": "List the alerts.",
+ "properties": {
+ "nextLink": {
+ "description": "URL to fetch the next set of alerts.",
+ "type": "string"
+ },
+ "value": {
+ "description": "List of alerts",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/smartGroup"
+ }
+ }
+ }
+ },
+ "smartGroup": {
+ "description": "Set of related alerts grouped together smartly by AMS.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/smartGroupProperties"
+ }
+ }
+ },
+ "smartGroupProperties": {
+ "type": "object",
+ "description": "Properties of smart group.",
+ "properties": {
+ "alertsCount": {
+ "type": "integer",
+ "description": "Total number of alerts in smart group"
+ },
+ "smartGroupState": {
+ "type": "string",
+ "description": "Smart group state",
+ "readOnly": true,
+ "enum": [
+ "New",
+ "Acknowledged",
+ "Closed"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ }
+ },
+ "severity": {
+ "type": "string",
+ "description": "Severity of smart group is the highest(Sev0 >... > Sev4) severity of all the alerts in the group.",
+ "readOnly": true,
+ "enum": [
+ "Sev0",
+ "Sev1",
+ "Sev2",
+ "Sev3",
+ "Sev4"
+ ],
+ "x-ms-enum": {
+ "name": "Severity",
+ "modelAsString": true
+ }
+ },
+ "startDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Creation time of smart group. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "lastModifiedDateTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Last updated time of smart group. Date-Time in ISO-8601 format.",
+ "readOnly": true
+ },
+ "lastModifiedUserName": {
+ "type": "string",
+ "description": "Last modified by user name.",
+ "readOnly": true
+ },
+ "resources": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of target resources in the smart group"
+ },
+ "resourceTypes": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of target resource types in the smart group"
+ },
+ "resourceGroups": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of target resource groups in the smart group"
+ },
+ "monitorServices": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of monitorServices in the smart group"
+ },
+ "monitorConditions": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of monitorConditions in the smart group"
+ },
+ "alertStates": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of alertStates in the smart group"
+ },
+ "alertSeverities": {
+ "items": {
+ "$ref": "#/definitions/smartGroupAggregatedProperty"
+ },
+ "type": "array",
+ "description": "Summary of alertSeverities in the smart group"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of alerts. Call ListNext() with this URI to fetch the next page alerts."
+ }
+ }
+ },
+ "smartGroupAggregatedProperty": {
+ "type": "object",
+ "description": "Aggregated property of each type",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the type."
+ },
+ "count": {
+ "type": "integer",
+ "description": "Total number of items of type."
+ }
+ }
+ }
+ }
+}
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
new file mode 100644
index 000000000000..6a49a3228a39
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json
@@ -0,0 +1,649 @@
+{
+ "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"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AlertsManagement/resourceHealthAlerts": {
+ "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/listResourceHealthAlerts.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlerts": {
+ "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/listResourceHealthAlerts.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AlertsManagement/resourceHealthAlerts/{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": {
+ "GetResourceHealthAlertRule": {
+ "$ref": "./examples/getResourceHealthAlert.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/createOrUpdateResourceHealthAlert.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/patchResourceHealthAlert.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/deleteResourceHealthAlert.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": [
+ "VmGuestHealth"
+ ],
+ "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": "VmGuestHealth",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/HealthAlertCriterion"
+ }
+ ],
+ "properties": {
+ "healthMonitorName": {
+ "type": "string",
+ "description": "Name of health monitor on which to define alert"
+ },
+ "healthStates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/HealthState"
+ },
+ "description": "Health states to alert on"
+ }
+ },
+ "required": [
+ "healthMonitorName"
+ ],
+ "description": "Specifies the health alert criteria to alert on."
+ },
+ "HealthState": {
+ "type": "object",
+ "properties": {
+ "healthStateName": {
+ "type": "string",
+ "description": "Health state"
+ },
+ "severity": {
+ "type": "string",
+ "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"
+ }
+ }
+ },
+ "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": {
+ "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/createOrUpdateResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json
new file mode 100644
index 000000000000..0a46e4630d1f
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/createOrUpdateResourceHealthAlert.json
@@ -0,0 +1,69 @@
+{
+ "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": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "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": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "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/deleteResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json
new file mode 100644
index 000000000000..0d5dfed02952
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/deleteResourceHealthAlert.json
@@ -0,0 +1,12 @@
+{
+ "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/getResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json
new file mode 100644
index 000000000000..18432a7ab89a
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/getResourceHealthAlert.json
@@ -0,0 +1,42 @@
+{
+ "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": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "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/listResourceHealthAlerts.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json
new file mode 100644
index 000000000000..42bc3c7156c4
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/listResourceHealthAlerts.json
@@ -0,0 +1,45 @@
+{
+ "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": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "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/patchResourceHealthAlert.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json
new file mode 100644
index 000000000000..c67cb10e162e
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/preview/2020-08-04-preview/examples/patchResourceHealthAlert.json
@@ -0,0 +1,68 @@
+{
+ "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": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "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": [
+ {
+ "healthMonitorName": "root",
+ "namespace": "VmGuestHealth"
+ }
+ ]
+ },
+ "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/stable/2018-05-05/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
index 93380511ec43..4ac3fbdee568 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
@@ -128,7 +128,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -171,7 +171,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -210,7 +210,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -246,7 +246,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -315,7 +315,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -386,7 +386,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -435,7 +435,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -480,7 +480,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -516,7 +516,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -913,7 +913,7 @@
"value"
]
},
- "errorResponse": {
+ "AlertsManagementErrorResponse": {
"description": "An error response from the service.",
"properties": {
"error": {
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
index 6060265ff492..dc6ce3d65350 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
@@ -128,7 +128,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -171,7 +171,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -210,7 +210,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -246,7 +246,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -315,7 +315,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -386,7 +386,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -432,7 +432,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -477,7 +477,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -513,7 +513,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/errorResponse"
+ "$ref": "#/definitions/AlertsManagementErrorResponse"
}
}
},
@@ -920,7 +920,7 @@
"value"
]
},
- "errorResponse": {
+ "AlertsManagementErrorResponse": {
"description": "An error response from the service.",
"x-ms-external": true,
"properties": {
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json
index 30b9b05d7e9f..bedb658c0631 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json
@@ -53,7 +53,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -95,7 +95,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -143,7 +143,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -192,7 +192,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -238,7 +238,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -257,7 +257,7 @@
}
},
"definitions": {
- "ErrorResponse": {
+ "SmartDetectorErrorResponse": {
"description": "Describe the format of an Error response.",
"type": "object",
"properties": {
diff --git a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
index 45d3bcaa439b..77242cc6bfbf 100644
--- a/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
+++ b/specification/alertsmanagement/resource-manager/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
@@ -56,7 +56,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -101,7 +101,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -149,7 +149,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -198,7 +198,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -253,7 +253,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -293,7 +293,7 @@
"default": {
"description": "Error response describing why the operation failed.",
"schema": {
- "$ref": "#/definitions/ErrorResponse"
+ "$ref": "#/definitions/SmartDetectorErrorResponse"
}
},
"200": {
@@ -312,7 +312,7 @@
}
},
"definitions": {
- "ErrorResponse": {
+ "SmartDetectorErrorResponse": {
"description": "Describe the format of an Error response.",
"type": "object",
"properties": {
diff --git a/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md b/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..87dbe102b007
--- /dev/null
+++ b/specification/alertsmanagement/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,75 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-alertsmanagement-2019-06-01
+ - tag: schema-alertsmanagement-2019-05-05-preview
+ - tag: schema-alertsmanagement-2019-03-01
+ - tag: schema-alertsmanagement-2018-05-05-preview
+ - tag: schema-alertsmanagement-2018-05-05
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-alertsmanagement-2019-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2019-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
+
+```
+
+### Tag: schema-alertsmanagement-2019-05-05-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2019-05-05-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
+
+```
+
+### Tag: schema-alertsmanagement-2019-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2019-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
+ - Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json
+
+```
+
+### Tag: schema-alertsmanagement-2018-05-05-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
+
+```
+
+### Tag: schema-alertsmanagement-2018-05-05 and azureresourceschema
+
+``` yaml $(tag) == 'schema-alertsmanagement-2018-05-05' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
+
+```
diff --git a/specification/alertsmanagement/resource-manager/readme.md b/specification/alertsmanagement/resource-manager/readme.md
index f3499619c52f..211952f9f39f 100644
--- a/specification/alertsmanagement/resource-manager/readme.md
+++ b/specification/alertsmanagement/resource-manager/readme.md
@@ -50,7 +50,9 @@ These settings apply only when `--tag=package-2019-06-preview` is specified on t
```yaml $(tag) == 'package-2019-06-preview'
input-file:
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
- Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
- Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
```
@@ -80,7 +82,9 @@ These settings apply only when `--tag=package-preview-2019-05` is specified on t
``` yaml $(tag) == 'package-preview-2019-05'
input-file:
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
- Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+ - Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
```
### Tag: package-2018-05
@@ -101,6 +105,15 @@ 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
+```
+
---
# Code Generation
@@ -116,6 +129,10 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-libraries-for-java
- repo: azure-sdk-for-go
+ - repo: azure-sdk-for-trenton
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js alertsmanagement/resource-manager
```
## C#
@@ -169,6 +186,10 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -181,12 +202,15 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.AlertsManagement/preview/2019-05-05-preview/ActionRules.json
- $(this-folder)/Microsoft.AlertsManagement/preview/2019-05-05-preview/AlertsManagement.json
+ - $(this-folder)/Microsoft.AlertsManagement/preview/2019-05-05-preview/SmartGroups.json
- $(this-folder)/Microsoft.AlertsManagement/stable/2019-06-01/SmartDetectorAlertRulesApi.json
- $(this-folder)/Microsoft.AlertsManagement/stable/2019-03-01/AlertsManagement.json
- $(this-folder)/Microsoft.AlertsManagement/stable/2019-03-01/SmartDetectorAlertRulesApi.json
- $(this-folder)/Microsoft.AlertsManagement/stable/2018-05-05/AlertsManagement.json
- $(this-folder)/Microsoft.AlertsManagement/preview/2018-05-05-preview/AlertsManagement.json
+ - $(this-folder)/Microsoft.AlertsManagement/preview/2020-08-04-preview/AlertsManagement.json
```
diff --git a/specification/alertsmanagement/resource-manager/readme.trenton.md b/specification/alertsmanagement/resource-manager/readme.trenton.md
index 06e42501cc61..caac806574a8 100644
--- a/specification/alertsmanagement/resource-manager/readme.trenton.md
+++ b/specification/alertsmanagement/resource-manager/readme.trenton.md
@@ -6,7 +6,8 @@ overrides:
- where:
resource: "*"
set:
- - NeedSeparated: false
+ - NeedSeparated: true
+ - CombineCreateUpdate: true
- where:
resource: "ActionRules"
property: "properties"
@@ -18,6 +19,10 @@ overrides:
property: "properties"
set:
- GoFieldName: "PatchProperties"
+ - where:
+ property: "status"
+ set:
+ - Hidden: false
- where:
property: "type"
set:
@@ -33,6 +38,7 @@ overrides:
set:
- EnumValues/0/GoEnumMemberName: "ScopeTypeResourceGroup"
- EnumValues/1/GoEnumMemberName: "ScopeTypeResource"
+ - EnumValues/2/GoEnumMemberName: "ScopeTypeSubscription"
```
## trenton
diff --git a/specification/analysisservices/resource-manager/readme.azureresourceschema.md b/specification/analysisservices/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..d89301b2b8b3
--- /dev/null
+++ b/specification/analysisservices/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,48 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-analysisservices-2017-08-01
+ - tag: schema-analysisservices-2017-07-14
+ - tag: schema-analysisservices-2016-05-16
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-analysisservices-2017-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-analysisservices-2017-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AnalysisServices/stable/2017-08-01/analysisservices.json
+
+```
+
+### Tag: schema-analysisservices-2017-07-14 and azureresourceschema
+
+``` yaml $(tag) == 'schema-analysisservices-2017-07-14' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AnalysisServices/stable/2017-07-14/analysisservices.json
+
+```
+
+### Tag: schema-analysisservices-2016-05-16 and azureresourceschema
+
+``` yaml $(tag) == 'schema-analysisservices-2016-05-16' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AnalysisServices/stable/2016-05-16/analysisservices.json
+
+```
diff --git a/specification/analysisservices/resource-manager/readme.md b/specification/analysisservices/resource-manager/readme.md
index 47c8ceba9a14..c65ff0f0a6f8 100644
--- a/specification/analysisservices/resource-manager/readme.md
+++ b/specification/analysisservices/resource-manager/readme.md
@@ -84,6 +84,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_analysis_services']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js analysisservices/resource-manager
```
@@ -183,6 +186,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json
index c295c362002e..7818c4d06ba6 100644
--- a/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json
+++ b/specification/apimanagement/control-plane/Microsoft.ApiManagement/preview/2017-03-01/apimproducts.json
@@ -861,13 +861,13 @@
"type": "boolean"
},
"approvalRequired": {
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.",
"type": "boolean"
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json
index 5a2330092a28..f15c144c4120 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json
@@ -3330,13 +3330,13 @@
"type": "boolean"
},
"approvalRequired": {
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.",
"type": "boolean"
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
index 3ce3a7c7b67b..87b45aa20ad4 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
@@ -3545,13 +3545,13 @@
"type": "boolean"
},
"approvalRequired": {
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.",
"type": "boolean"
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json
index 95d7789cdb07..801e3c890ddc 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json
@@ -5344,12 +5344,12 @@
},
"approvalRequired": {
"type": "boolean",
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true."
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
@@ -5624,12 +5624,12 @@
},
"approvalRequired": {
"type": "boolean",
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true."
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json
index 24a54f3eba94..f2eade375f3a 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json
@@ -826,12 +826,12 @@
},
"approvalRequired": {
"type": "boolean",
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true."
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
@@ -876,12 +876,12 @@
},
"approvalRequired": {
"type": "boolean",
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true."
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
index 6ce08fc02df5..b5db2b8d860e 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
@@ -1126,13 +1126,13 @@
"type": "boolean"
},
"approvalRequired": {
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.",
"type": "boolean"
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json
index d2106e08cd2f..e341239d3b07 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json
@@ -1177,13 +1177,13 @@
"type": "boolean"
},
"approvalRequired": {
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.",
"type": "boolean"
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json
index 7bd0863d4091..85d39690b59e 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json
@@ -198,6 +198,33 @@
"pattern": "^[^*#&+:<>?]+$",
"x-ms-parameter-location": "method"
},
+ "AppTypeParameter": {
+ "name": "appType",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Determines the type of application which send the create user request. Default is legacy publisher portal.",
+ "enum": [
+ "portal",
+ "developerPortal"
+ ],
+ "x-ms-enum": {
+ "name": "AppType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "portal",
+ "description": "User create request was sent by legacy developer portal."
+ },
+ {
+ "value": "developerPortal",
+ "description": "User create request was sent by new developer portal."
+ }
+ ]
+ },
+ "default": "portal",
+ "x-ms-parameter-location": "method"
+ },
"AttachmentIdParameter": {
"name": "attachmentId",
"in": "path",
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json
index 01a9c6faa29f..255e9acc0acb 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json
@@ -230,6 +230,9 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
}
],
"responses": {
@@ -306,6 +309,9 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
}
],
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json
index e5fd4d5b45c0..9d592cfb893c 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/apimusers.json
@@ -225,6 +225,13 @@
},
"description": "Create or update parameters."
},
+ {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Send an Email notification to the User."
+ },
{
"$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
},
@@ -363,6 +370,9 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
}
],
"responses": {
@@ -681,6 +691,9 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
}
],
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
index a4f4ef653186..79a0c9320a0d 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-01-01/definitions.json
@@ -3485,13 +3485,13 @@
"type": "boolean"
},
"approvalRequired": {
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.",
"type": "boolean"
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
@@ -4966,14 +4966,19 @@
},
"appType": {
"type": "string",
- "description": "Determines the type of application which send the create user request. Default is old publisher portal.",
+ "description": "Determines the type of application which send the create user request. Default is legacy portal.",
"enum": [
+ "portal",
"developerPortal"
],
"x-ms-enum": {
"name": "AppType",
"modelAsString": true,
"values": [
+ {
+ "value": "portal",
+ "description": "User create request was sent by legacy developer portal."
+ },
{
"value": "developerPortal",
"description": "User create request was sent by new developer portal."
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json
index c7000c981ff8..671295da121e 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json
@@ -198,6 +198,33 @@
"pattern": "^[^*#&+:<>?]+$",
"x-ms-parameter-location": "method"
},
+ "AppTypeParameter": {
+ "name": "appType",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Determines the type of application which send the create user request. Default is legacy publisher portal.",
+ "enum": [
+ "portal",
+ "developerPortal"
+ ],
+ "x-ms-enum": {
+ "name": "AppType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "portal",
+ "description": "User create request was sent by legacy developer portal."
+ },
+ {
+ "value": "developerPortal",
+ "description": "User create request was sent by new developer portal."
+ }
+ ]
+ },
+ "default": "portal",
+ "x-ms-parameter-location": "method"
+ },
"AttachmentIdParameter": {
"name": "attachmentId",
"in": "path",
@@ -713,6 +740,26 @@
"minLength": 1,
"maxLength": 80,
"x-ms-parameter-location": "method"
+ },
+ "ContentTypeIdParameter": {
+ "name": "contentTypeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Content type identifier.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
+ },
+ "ContentItemIdParameter": {
+ "name": "contentItemId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Content item identifier.",
+ "minLength": 1,
+ "maxLength": 80,
+ "x-ms-parameter-location": "method"
}
}
}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json
new file mode 100644
index 000000000000..8c9d1ad8b15c
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json
@@ -0,0 +1,521 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApiManagementClient",
+ "description": "Use these REST APIs for performing operations in Azure API Management deployment.",
+ "version": "2019-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.ApiManagement/service/{serviceName}/contentTypes": {
+ "get": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_ListByService",
+ "description": "Returns list of content types",
+ "x-ms-examples": {
+ "ApiManagementListContentTypes": {
+ "$ref": "./examples/ApiManagementListContentTypes.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of content type entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}": {
+ "head": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_GetEntityTag",
+ "description": "Returns content type metadata",
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified content type entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentTypes_Get",
+ "description": "Gets API Management content type details",
+ "x-ms-examples": {
+ "ApiManagementGetContentType": {
+ "$ref": "./examples/ApiManagementGetContentType.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the content type.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_CreateOrUpdate",
+ "description": "Creates new content type",
+ "x-ms-examples": {
+ "ApiManagementCreateContentType": {
+ "$ref": "./examples/ApiManagementCreateContentType.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Content type was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeContract"
+ }
+ },
+ "200": {
+ "description": "The existing content type was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentTypeContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContentType"
+ ],
+ "operationId": "ContentType_Delete",
+ "description": "Removes specified content type.",
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The content type was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems": {
+ "get": {
+ "tags": [
+ "ContentItem"
+ ],
+ "operationId": "ContentItem_ListByService",
+ "description": "Returns list of content items",
+ "x-ms-examples": {
+ "ApiManagementListContentItems": {
+ "$ref": "./examples/ApiManagementListContentItems.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists a collection of Content Type entities.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemCollection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ApiManagement/service/{serviceName}/contentTypes/{contentTypeId}/contentItems/{contentItemId}": {
+ "head": {
+ "tags": [
+ "ContentItem"
+ ],
+ "operationId": "ContentItem_GetEntityTag",
+ "description": "Returns content item metadata",
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Specified content item entity exists and current entity state version is present in the ETag header.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ContentItem"
+ ],
+ "operationId": "ContentItem_Get",
+ "description": "Returns content item details",
+ "x-ms-examples": {
+ "ApiManagementGetContentItem": {
+ "$ref": "./examples/ApiManagementGetContentItem.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Get the details of the content item.",
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemContract"
+ },
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ContentItem"
+ ],
+ "operationId": "ContentItem_CreateOrUpdate",
+ "description": "Creates new content item",
+ "x-ms-examples": {
+ "ApiManagementCreateContentItem": {
+ "$ref": "./examples/ApiManagementCreateContentItem.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Content item was successfully created.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemContract"
+ }
+ },
+ "200": {
+ "description": "The existing content item was successfully updated.",
+ "headers": {
+ "ETag": {
+ "description": "Current entity state version. Should be treated as opaque and used to make conditional HTTP requests.",
+ "type": "string"
+ }
+ },
+ "schema": {
+ "$ref": "./definitions.json#/definitions/ContentItemContract"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ContentItem"
+ ],
+ "operationId": "ContentItem_Delete",
+ "description": "Removes specified content item.",
+ "parameters": [
+ {
+ "$ref": "./apimanagement.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ServiceNameParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentTypeIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ContentItemIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The content item was successfully deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./apimanagement.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {},
+ "parameters": {}
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json
index 2aa6ffd5883d..e03d8fcd17d6 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json
@@ -108,7 +108,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "./definitions.json#/definitions/QuotaCounterValueContractProperties"
+ "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract"
},
"description": "The value of the quota counter to be applied to all quota counter periods."
},
@@ -212,7 +212,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "./definitions.json#/definitions/QuotaCounterValueContractProperties"
+ "$ref": "./definitions.json#/definitions/QuotaCounterValueUpdateContract"
},
"description": "The value of the Quota counter to be applied on the specified period."
},
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json
index 3c7cad660af8..a7281307fa07 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json
@@ -230,6 +230,9 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
}
],
"responses": {
@@ -306,6 +309,9 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
}
],
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json
index c290fb30f0a0..115dd71529f5 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/apimusers.json
@@ -225,6 +225,13 @@
},
"description": "Create or update parameters."
},
+ {
+ "name": "notify",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Send an Email notification to the User."
+ },
{
"$ref": "./apimanagement.json#/parameters/IfMatchOptionalParameter"
},
@@ -363,6 +370,9 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
}
],
"responses": {
@@ -681,6 +691,9 @@
},
{
"$ref": "./apimanagement.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "./apimanagement.json#/parameters/AppTypeParameter"
}
],
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/definitions.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/definitions.json
index 490ae700e22e..f4361ca41aab 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/definitions.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/definitions.json
@@ -3545,13 +3545,13 @@
"type": "boolean"
},
"approvalRequired": {
- "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of false.",
+ "description": "whether subscription approval is required. If false, new subscriptions will be approved automatically enabling developers to call the product’s APIs immediately after subscribing. If true, administrators must manually approve the subscription before the developer can any of the product’s APIs. Can be present only if subscriptionRequired property is present and has a value of true.",
"type": "boolean"
},
"subscriptionsLimit": {
"type": "integer",
"format": "int32",
- "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of false."
+ "description": "Whether the number of subscriptions a user can have to this product at the same time. Set to null or omit to allow unlimited per user subscriptions. Can be present only if subscriptionRequired property is present and has a value of true."
},
"state": {
"type": "string",
@@ -3847,6 +3847,16 @@
},
"description": "Quota counter value details."
},
+ "QuotaCounterValueUpdateContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QuotaCounterValueContractProperties",
+ "description": "Quota counter value details."
+ }
+ },
+ "description": "Quota counter value details."
+ },
"RecipientEmailCollection": {
"properties": {
"value": {
@@ -4519,7 +4529,7 @@
},
"stateComment": {
"type": "string",
- "description": "Optional subscription comment added by an administrator."
+ "description": "Optional subscription comment added by an administrator when the state is changed to the 'rejected'."
},
"allowTracing": {
"type": "boolean",
@@ -4675,7 +4685,7 @@
},
"stateComment": {
"type": "string",
- "description": "Comments describing subscription state change by the administrator."
+ "description": "Comments describing subscription state change by the administrator when the state is changed to the 'rejected'."
},
"allowTracing": {
"type": "boolean",
@@ -5044,14 +5054,19 @@
},
"appType": {
"type": "string",
- "description": "Determines the type of application which send the create user request. Default is old publisher portal.",
+ "description": "Determines the type of application which send the create user request. Default is legacy portal.",
"enum": [
+ "portal",
"developerPortal"
],
"x-ms-enum": {
"name": "AppType",
"modelAsString": true,
"values": [
+ {
+ "value": "portal",
+ "description": "User create request was sent by legacy developer portal."
+ },
{
"value": "developerPortal",
"description": "User create request was sent by new developer portal."
@@ -5555,6 +5570,100 @@
}
],
"description": "Association entity details."
+ },
+ "ContentTypeCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentTypeContract"
+ },
+ "description": "Collection of content types.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link, if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged list of content types."
+ },
+ "ContentTypeContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContentTypeContractProperties",
+ "description": "Properties of the content type."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Content type contract details."
+ },
+ "ContentTypeContractProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Content type identifier"
+ },
+ "name": {
+ "type": "string",
+ "description": "Content type name. Must be 1 to 250 characters long."
+ },
+ "description": {
+ "type": "string",
+ "description": "Content type description."
+ },
+ "schema": {
+ "type": "object",
+ "description": "Content type schema."
+ },
+ "version": {
+ "type": "string",
+ "description": "Content type version."
+ }
+ }
+ },
+ "ContentItemCollection": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContentItemContract"
+ },
+ "description": "Collection of content items.",
+ "readOnly": true
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Next page link, if any.",
+ "readOnly": true
+ }
+ },
+ "description": "Paged list of content items."
+ },
+ "ContentItemContract": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ContentItemContractProperties",
+ "description": "Properties of the content item."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./apimanagement.json#/definitions/Resource"
+ }
+ ],
+ "description": "Content type contract details."
+ },
+ "ContentItemContractProperties": {
+ "properties": {},
+ "additionalProperties": true
}
},
"parameters": {}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentItem.json
new file mode 100644
index 000000000000..9eed6b795098
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentItem.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "parameters": {
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json
new file mode 100644
index 000000000000..1ef1cbc9f30f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementCreateContentType.json
@@ -0,0 +1,192 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "parameters": {
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "$ref": "#/definitions/metadata"
+ }
+ },
+ "additionalProperties": false,
+ "definitions": {
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ }
+ },
+ "version": "1.0.0"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "$ref": "#/definitions/metadata"
+ }
+ },
+ "additionalProperties": false,
+ "definitions": {
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ }
+ },
+ "version": "1.0.0"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "$ref": "#/definitions/metadata"
+ }
+ },
+ "additionalProperties": false,
+ "definitions": {
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ }
+ },
+ "version": "1.0.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentItem.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentItem.json
new file mode 100644
index 000000000000..180b79de7d48
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentItem.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page",
+ "contentItemId": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json
new file mode 100644
index 000000000000..236c09de813f
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementGetContentType.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "serviceName": "apimService1",
+ "resourceGroupName": "rg1",
+ "api-version": "2019-12-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.ApiManagement/service/apimService1/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "$ref": "#/definitions/metadata"
+ }
+ },
+ "additionalProperties": false,
+ "definitions": {
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ }
+ },
+ "version": "1.0.0"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentItems.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentItems.json
new file mode 100644
index 000000000000..0a87cbb5c427
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentItems.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2019-12-01",
+ "subscriptionId": "subid",
+ "contentTypeId": "page"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/contentTypes/page/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "type": "Microsoft.ApiManagement/service/contentTypes/contentItems",
+ "name": "4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "properties": {
+ "en_us": {
+ "title": "About",
+ "description": "Short story about the company.",
+ "keywords": "company, about",
+ "documentId": "contentTypes/document/contentItems/4e3cf6a5-574a-ba08-1f23-2e7a38faa6d8",
+ "permalink": "/about"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json
new file mode 100644
index 000000000000..4a008fed1b45
--- /dev/null
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementListContentTypes.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "resourceGroupName": "rg1",
+ "serviceName": "apimService1",
+ "api-version": "2019-12-01",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/contentTypes/page",
+ "type": "Microsoft.ApiManagement/service/contentTypes",
+ "name": "page",
+ "properties": {
+ "name": "Page",
+ "description": "A regular page",
+ "schema": {
+ "properties": {
+ "en_us": {
+ "$ref": "#/definitions/metadata"
+ }
+ },
+ "additionalProperties": false,
+ "definitions": {
+ "metadata": {
+ "type": "object",
+ "properties": {
+ "title": {
+ "title": "Title",
+ "description": "Page title. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "description": {
+ "title": "Description",
+ "description": "Page description. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "keywords": {
+ "title": "Keywords",
+ "description": "Page keywords. This property gets included in SEO attributes.",
+ "type": "string",
+ "indexed": true
+ },
+ "permalink": {
+ "title": "Permalink",
+ "description": "Page permalink, e.g. '/about'.",
+ "type": "string",
+ "indexed": true
+ },
+ "documentId": {
+ "title": "Document ID",
+ "description": "Reference to page content document.",
+ "type": "string"
+ }
+ },
+ "additionalProperties": false,
+ "required": [
+ "title",
+ "permalink",
+ "documentId"
+ ]
+ }
+ }
+ },
+ "version": "1.0.0"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKey.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKey.json
index e912200c09ab..d1e94ce2d3d5 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKey.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKey.json
@@ -6,8 +6,10 @@
"subscriptionId": "subid",
"quotaCounterKey": "ba",
"parameters": {
- "callsCount": 0,
- "kbTransferred": 2.5630078125
+ "properties": {
+ "callsCount": 0,
+ "kbTransferred": 2.5630078125
+ }
}
},
"responses": {
diff --git a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
index 5e43c0fb4956..257bd852272a 100644
--- a/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
+++ b/specification/apimanagement/resource-manager/Microsoft.ApiManagement/stable/2019-12-01/examples/ApiManagementUpdateQuotaCounterKeyByQuotaPeriod.json
@@ -7,8 +7,10 @@
"quotaCounterKey": "ba",
"quotaPeriodKey": "0_P3Y6M4DT12H30M5S",
"parameters": {
- "callsCount": 0,
- "kbTransferred": 0
+ "properties": {
+ "callsCount": 0,
+ "kbTransferred": 0
+ }
}
},
"responses": {
diff --git a/specification/apimanagement/resource-manager/readme.azureresourceschema.md b/specification/apimanagement/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..7afd9c95a116
--- /dev/null
+++ b/specification/apimanagement/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,305 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-apimanagement-2019-12-01-preview
+ - tag: schema-apimanagement-2019-12-01
+ - tag: schema-apimanagement-2019-01-01
+ - tag: schema-apimanagement-2018-06-01-preview
+ - tag: schema-apimanagement-2018-01-01
+ - tag: schema-apimanagement-2017-03-01
+ - tag: schema-apimanagement-2016-10-10
+ - tag: schema-apimanagement-2016-07-07
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-apimanagement-2019-12-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2019-12-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgateways.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimnamedvalues.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2019-12-01-preview/definitions.json
+
+```
+
+### Tag: schema-apimanagement-2019-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2019-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2019-12-01/apimanagement.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimapis.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimapisByTags.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimapiversionsets.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimgateways.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimgroups.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimissues.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimloggers.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimnamedvalues.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimnotifications.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimpolicies.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimpolicydescriptions.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimportalsettings.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimproducts.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimproductsByTags.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimquotas.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimregions.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimreports.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimtagresources.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimtags.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimtenant.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimusers.json
+ - Microsoft.ApiManagement/stable/2019-12-01/definitions.json
+
+```
+
+### Tag: schema-apimanagement-2019-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2019-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2019-01-01/apimanagement.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimapis.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimapisByTags.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimapiversionsets.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimbackends.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimcaches.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimdiagnostics.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimemailtemplates.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimgroups.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimissues.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimloggers.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimnotifications.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimpolicies.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimpolicysnippets.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimportalsettings.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimproducts.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimproductsByTags.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimproperties.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimquotas.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimregions.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimreports.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimtagresources.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimtags.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimtenant.json
+ - Microsoft.ApiManagement/stable/2019-01-01/apimusers.json
+ - Microsoft.ApiManagement/stable/2019-01-01/definitions.json
+
+```
+
+### Tag: schema-apimanagement-2018-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2018-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimanagement.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapis.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapisByTags.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimauthorizationservers.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimbackends.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcaches.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimcertificates.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdeployment.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimdiagnostics.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimemailtemplates.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimgroups.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimidentityprovider.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimissues.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimloggers.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnotifications.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimnetworkstatus.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicies.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimpolicysnippets.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimportalsettings.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproducts.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproductsByTags.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimproperties.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimquotas.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimregions.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimreports.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimsubscriptions.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtagresources.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtags.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimtenant.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimusers.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/apimapiversionsets.json
+ - Microsoft.ApiManagement/preview/2018-06-01-preview/definitions.json
+
+```
+
+### Tag: schema-apimanagement-2018-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2018-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2018-01-01/apimanagement.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimapis.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimbackends.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimdiagnostics.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimemailtemplate.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimgroups.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimloggers.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimnotifications.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimportalsettings.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimproducts.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimproperties.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimquotas.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimreports.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimtagresources.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimtags.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimtenant.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimusers.json
+ - Microsoft.ApiManagement/stable/2018-01-01/apimversionsets.json
+
+```
+
+### Tag: schema-apimanagement-2017-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2017-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2017-03-01/apimanagement.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimapis.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimbackends.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimdiagnostics.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimemailtemplate.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimgroups.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimloggers.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimnotifications.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimportalsettings.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimproducts.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimproperties.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimquotas.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimreports.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimtagresources.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimtags.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimtenant.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimusers.json
+ - Microsoft.ApiManagement/stable/2017-03-01/apimversionsets.json
+
+```
+
+### Tag: schema-apimanagement-2016-10-10 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2016-10-10' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2016-10-10/apimanagement.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimapis.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimauthorizationservers.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimbackends.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimdeployment.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimgroups.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimidentityprovider.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimloggers.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimnetworkstatus.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimopenidconnectproviders.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimproducts.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimproperties.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimquotas.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimreports.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimsubscriptions.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimtenant.json
+ - Microsoft.ApiManagement/stable/2016-10-10/apimusers.json
+
+```
+
+### Tag: schema-apimanagement-2016-07-07 and azureresourceschema
+
+``` yaml $(tag) == 'schema-apimanagement-2016-07-07' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ApiManagement/stable/2016-07-07/apimanagement.json
+ - Microsoft.ApiManagement/stable/2016-07-07/apimdeployment.json
+
+```
diff --git a/specification/apimanagement/resource-manager/readme.md b/specification/apimanagement/resource-manager/readme.md
index 8898b1f52777..96ff6b9c8221 100644
--- a/specification/apimanagement/resource-manager/readme.md
+++ b/specification/apimanagement/resource-manager/readme.md
@@ -46,6 +46,7 @@ input-file:
- Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json
- Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json
- Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json
+ - Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json
- Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json
- Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json
- Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json
@@ -344,6 +345,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_api_management']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js apimanagement/resource-manager
```
## C#
@@ -372,6 +376,10 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -392,6 +400,7 @@ input-file:
- $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimbackends.json
- $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcaches.json
- $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcertificates.json
+ - $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimcontenttypes.json
- $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimdeployment.json
- $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimdiagnostics.json
- $(this-folder)/Microsoft.ApiManagement/stable/2019-12-01/apimemailtemplates.json
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
new file mode 100644
index 000000000000..f82beb0b8e13
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json
@@ -0,0 +1,1661 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-06-01",
+ "title": "AppConfigurationManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/configurationStores": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the configuration stores for a given subscription.",
+ "operationId": "ConfigurationStores_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_List": {
+ "$ref": "./examples/ConfigurationStoresList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the configuration stores for a given resource group.",
+ "operationId": "ConfigurationStores_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListByResourceGroup": {
+ "$ref": "./examples/ConfigurationStoresListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}": {
+ "get": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Gets the properties of the specified configuration store.",
+ "operationId": "ConfigurationStores_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Get": {
+ "$ref": "./examples/ConfigurationStoresGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Creates a configuration store with the specified parameters.",
+ "operationId": "ConfigurationStores_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "configStoreCreationParameters",
+ "in": "body",
+ "description": "The parameters for creating a configuration store.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Create": {
+ "$ref": "./examples/ConfigurationStoresCreate.json"
+ },
+ "ConfigurationStores_Create_WithIdentity": {
+ "$ref": "./examples/ConfigurationStoresCreateWithIdentity.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Deletes a configuration store.",
+ "operationId": "ConfigurationStores_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content - the specified resource was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Delete": {
+ "$ref": "./examples/ConfigurationStoresDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Updates a configuration store with the specified parameters.",
+ "operationId": "ConfigurationStores_Update",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "configStoreUpdateParameters",
+ "in": "body",
+ "description": "The parameters for updating a configuration store.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStoreUpdateParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_Update": {
+ "$ref": "./examples/ConfigurationStoresUpdate.json"
+ },
+ "ConfigurationStores_Update_WithIdentity": {
+ "$ref": "./examples/ConfigurationStoresUpdateWithIdentity.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AppConfiguration/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Checks whether the configuration store name is available for use.",
+ "operationId": "Operations_CheckNameAvailability",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "checkNameAvailabilityParameters",
+ "in": "body",
+ "description": "The object containing information for the availability request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityStatus"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_CheckNameAvailable": {
+ "$ref": "./examples/CheckNameAvailable.json"
+ },
+ "ConfigurationStores_CheckNameNotAvailable": {
+ "$ref": "./examples/CheckNameNotAvailable.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/ListKeys": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists the access key for the specified configuration store.",
+ "operationId": "ConfigurationStores_ListKeys",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ApiKeyListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListKeys": {
+ "$ref": "./examples/ConfigurationStoresListKeys.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/RegenerateKey": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Regenerates an access key for the specified configuration store.",
+ "operationId": "ConfigurationStores_RegenerateKey",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "regenerateKeyParameters",
+ "in": "body",
+ "description": "The parameters for regenerating an access key.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RegenerateKeyParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/ApiKey"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_RegenerateKey": {
+ "$ref": "./examples/ConfigurationStoresRegenerateKey.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.AppConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists the operations available from this provider.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "A skip token is used to continue retrieving items after an operation returns a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skipToken parameter that specifies a starting point to use for subsequent calls.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/OperationDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/listKeyValue": {
+ "post": {
+ "tags": [
+ "ConfigurationStores"
+ ],
+ "description": "Lists a configuration store key-value.",
+ "operationId": "ConfigurationStores_ListKeyValue",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "listKeyValueParameters",
+ "in": "body",
+ "description": "The parameters for retrieving a key-value.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ListKeyValueParameters"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/KeyValue"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ConfigurationStores_ListKeyValue": {
+ "$ref": "./examples/ConfigurationStoresListKeyValue.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_ListByConfigurationStore",
+ "description": "Lists all private endpoint connections for a configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnection_List": {
+ "$ref": "./examples/ConfigurationStoresListPrivateEndpointConnections.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "description": "Gets the specified private endpoint connection associated with the configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Private endpoint connection name",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnection_GetConnection": {
+ "$ref": "./examples/ConfigurationStoresGetPrivateEndpointConnection.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "description": "Update the state of the specified private endpoint connection associated with the configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Private endpoint connection name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "The request was successfully accepted; the operation will complete asynchronously. The provisioning state of the resource should indicate the current state of the resource.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnection_CreateOrUpdate": {
+ "$ref": "./examples/ConfigurationStoresCreatePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Deletes a private endpoint connection.",
+ "operationId": "PrivateEndpointConnections_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "Private endpoint connection name",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly."
+ },
+ "202": {
+ "description": "The request was successful; the operation will complete asynchronously."
+ },
+ "204": {
+ "description": "No Content - the specified resource was not found."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateEndpointConnections_Delete": {
+ "$ref": "./examples/ConfigurationStoresDeletePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_ListByConfigurationStore",
+ "description": "Gets the private link resources that need to be created for a configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The request was successful; the request was well-formed and received properly.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_ListGroupIds": {
+ "$ref": "./examples/PrivateLinkResourcesListByConfigurationStore.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AppConfiguration/configurationStores/{configStoreName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_Get",
+ "description": "Gets a private link resource that need to be created for a configuration store.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ConfigStoreNameParameter"
+ },
+ {
+ "$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/PrivateLinkResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkResources_Get": {
+ "$ref": "./examples/PrivateLinkResourceGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ConfigurationStoreListResult": {
+ "description": "The result of a request to list configuration stores.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationStore"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationStore": {
+ "description": "The configuration store along with all resource properties. The Configuration Store will have all information to begin utilizing it.",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "The managed identity information, if configured."
+ },
+ "properties": {
+ "$ref": "#/definitions/ConfigurationStoreProperties",
+ "description": "The properties of a configuration store.",
+ "x-ms-client-flatten": true
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku of the configuration store."
+ }
+ }
+ },
+ "ConfigurationStoreProperties": {
+ "description": "The properties of a configuration store.",
+ "type": "object",
+ "properties": {
+ "provisioningState": {
+ "description": "The provisioning state of the configuration store.",
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "creationDate": {
+ "format": "date-time",
+ "description": "The creation date of configuration store.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endpoint": {
+ "description": "The DNS endpoint where the configuration store API will be available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperties",
+ "description": "The encryption settings of the configuration store."
+ },
+ "privateEndpointConnections": {
+ "description": "The list of private endpoint connections that are set up for this resource.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnectionReference"
+ }
+ },
+ "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
+ }
+ }
+ }
+ },
+ "EncryptionProperties": {
+ "type": "object",
+ "description": "The encryption settings for a configuration store.",
+ "properties": {
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Key vault properties."
+ }
+ }
+ },
+ "PrivateEndpointConnectionReference": {
+ "type": "object",
+ "description": "A reference to a related private endpoint connection.",
+ "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
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint connection.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "description": "Settings concerning key vault encryption for a configuration store.",
+ "properties": {
+ "keyIdentifier": {
+ "description": "The URI of the key vault key used to encrypt data.",
+ "type": "string"
+ },
+ "identityClientId": {
+ "description": "The client id of the identity which will be used to access key vault.",
+ "type": "string"
+ }
+ }
+ },
+ "ConfigurationStoreUpdateParameters": {
+ "description": "The parameters for updating a configuration store.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConfigurationStorePropertiesUpdateParameters",
+ "description": "The properties for updating a configuration store.",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ResourceIdentity",
+ "description": "The managed identity information for the configuration store."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU of the configuration store."
+ },
+ "tags": {
+ "description": "The ARM resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ConfigurationStorePropertiesUpdateParameters": {
+ "description": "The properties for updating a configuration store.",
+ "type": "object",
+ "properties": {
+ "encryption": {
+ "$ref": "#/definitions/EncryptionProperties",
+ "description": "The encryption settings of the configuration store."
+ },
+ "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": "Parameters used for checking whether a resource name is available.",
+ "required": [
+ "name",
+ "type"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name to check for availability.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The resource type to check for name availability.",
+ "enum": [
+ "Microsoft.AppConfiguration/configurationStores"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ConfigurationResourceType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NameAvailabilityStatus": {
+ "description": "The result of a request to check the availability of a resource name.",
+ "type": "object",
+ "properties": {
+ "nameAvailable": {
+ "description": "The value indicating whether the resource name is available.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "message": {
+ "description": "If any, the error message that provides more detail for the reason that the name is not available.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reason": {
+ "description": "If any, the reason that the name is not available.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ApiKeyListResult": {
+ "description": "The result of a request to list API keys.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiKey"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "ApiKey": {
+ "description": "An API key used for authenticating with a configuration store endpoint.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The key ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "A name for the key describing its usage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the key that is used for authentication purposes.",
+ "type": "string",
+ "readOnly": true
+ },
+ "connectionString": {
+ "description": "A connection string that can be used by supporting clients for authentication.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "The last time any of the key's properties were modified.",
+ "type": "string",
+ "readOnly": true
+ },
+ "readOnly": {
+ "description": "Whether this key can only be used for read operations.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "RegenerateKeyParameters": {
+ "description": "The parameters used to regenerate an API key.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the key to regenerate.",
+ "type": "string"
+ }
+ }
+ },
+ "ListKeyValueParameters": {
+ "description": "The parameters used to list a configuration store key-value",
+ "required": [
+ "key"
+ ],
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The key to retrieve.",
+ "type": "string"
+ },
+ "label": {
+ "description": "The label of the key.",
+ "type": "string"
+ }
+ }
+ },
+ "KeyValue": {
+ "description": "The result of a request to retrieve a key-value from the specified configuration store.",
+ "type": "object",
+ "properties": {
+ "key": {
+ "description": "The primary identifier of a key-value.\r\nThe key is used in unison with the label to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "A value used to group key-values.\r\nThe label is used in unison with the key to uniquely identify a key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The value of the key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "contentType": {
+ "description": "The content type of the key-value's value.\r\nProviding a proper content-type can enable transformations of values when they are retrieved by applications.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eTag": {
+ "description": "An ETag indicating the state of a key-value within a configuration store.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastModified": {
+ "format": "date-time",
+ "description": "The last time a modifying operation was performed on the given key-value.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locked": {
+ "description": "A value indicating whether the key-value is locked.\r\nA locked key-value may not be modified until it is unlocked.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "A dictionary of tags that can help identify what a key-value may be applicable for.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "OperationDefinitionListResult": {
+ "description": "The result of a request to list configuration store operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDefinition": {
+ "description": "The definition of a configuration store operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDefinitionDisplay",
+ "description": "The display information for the configuration store operation."
+ }
+ }
+ },
+ "OperationDefinitionDisplay": {
+ "description": "The display information for a configuration store operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The resource provider name: Microsoft App Configuration.\"",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "The resource on which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The operation that users can perform.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description for the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceIdentity": {
+ "type": "object",
+ "description": "An identity that can be associated with a resource.",
+ "properties": {
+ "type": {
+ "description": "The type of managed identity used. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user-assigned identities. The type 'None' will remove any identities.",
+ "enum": [
+ "None",
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": true
+ }
+ },
+ "userAssignedIdentities": {
+ "description": "The list of user-assigned identities associated with the resource. The user-assigned identity dictionary keys will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/UserIdentity"
+ }
+ },
+ "principalId": {
+ "description": "The principal id of the identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "The tenant id associated with the resource's identity. This property will only be provided for a system-assigned identity.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserIdentity": {
+ "type": "object",
+ "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
+ }
+ }
+ },
+ "Sku": {
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The SKU name of the configuration store.",
+ "type": "string"
+ }
+ },
+ "description": "Describes a configuration store SKU."
+ },
+ "Error": {
+ "description": "AppConfiguration error object.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message.",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "description": "An Azure resource.",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "id": {
+ "description": "The resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "The location of the resource. This cannot be changed after the resource is created.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionListResult": {
+ "type": "object",
+ "description": "A list of private endpoint connections",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "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
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "The properties of a private endpoint.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "PrivateEndpointConnectionProperties": {
+ "type": "object",
+ "description": "Properties of a private endpoint connection.",
+ "properties": {
+ "provisioningState": {
+ "enum": [
+ "Creating",
+ "Updating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioning status of the private endpoint connection.",
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "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 for 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."
+ },
+ "actionsRequired": {
+ "enum": [
+ "None",
+ "Recreate"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)",
+ "x-ms-enum": {
+ "name": "ActionsRequired",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "type": "object",
+ "description": "A list of private link resources.",
+ "properties": {
+ "value": {
+ "description": "The collection value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ },
+ "nextLink": {
+ "description": "The URI that can be used to request the next set of paged results.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "type": "object",
+ "description": "A resource that supports private link capabilities.",
+ "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
+ },
+ "properties": {
+ "$ref": "#/definitions/PrivateLinkResourceProperties",
+ "description": "Private link resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "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"
+ },
+ "readOnly": true,
+ "description": "The list of required DNS zone names of the private link resource."
+ }
+ },
+ "description": "Properties of a private link resource."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The Microsoft Azure subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group to which the container registry belongs.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ConfigStoreNameParameter": {
+ "name": "configStoreName",
+ "in": "path",
+ "description": "The name of the configuration store.",
+ "required": true,
+ "type": "string",
+ "maxLength": 50,
+ "minLength": 5,
+ "pattern": "^[a-zA-Z0-9_-]*$",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The client API version.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ },
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameAvailable.json
new file mode 100644
index 000000000000..fcab22cbda15
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2020-06-01",
+ "checkNameAvailabilityParameters": {
+ "name": "contoso",
+ "type": "Microsoft.AppConfiguration/configurationStores"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "message": "The specified name is available.",
+ "reason": null
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameNotAvailable.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameNotAvailable.json
new file mode 100644
index 000000000000..6df008d2160d
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/CheckNameNotAvailable.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2020-06-01",
+ "checkNameAvailabilityParameters": {
+ "name": "contoso",
+ "type": "Microsoft.AppConfiguration/configurationStores"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "The specified name is already in use."
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreate.json
new file mode 100644
index 000000000000..c769ec3ecbbe
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreate.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01",
+ "configStoreCreationParameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Creating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreatePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..f05b50598694
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreatePrivateEndpointConnection.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2020-06-01",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/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"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/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/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreateWithIdentity.json
new file mode 100644
index 000000000000..3f4edb802032
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresCreateWithIdentity.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01",
+ "configStoreCreationParameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard"
+ },
+ "tags": {
+ "myTag": "myTagValue"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Creating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "myTag": "myTagValue"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDelete.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDelete.json
new file mode 100644
index 000000000000..097cb7e486b3
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDeletePrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..1188e53caf8a
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresDeletePrivateEndpointConnection.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGet.json
new file mode 100644
index 000000000000..479921b1c07f
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGet.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGetPrivateEndpointConnection.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..dc9dfa0fa501
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresGetPrivateEndpointConnection.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "privateEndpointConnectionName": "myConnection",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/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/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresList.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresList.json
new file mode 100644
index 000000000000..01a057deb0fc
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ },
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T23:06:59+00:00",
+ "endpoint": "https://contoso2.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2",
+ "name": "contoso2",
+ "location": "westus",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListByResourceGroup.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListByResourceGroup.json
new file mode 100644
index 000000000000..91c9136c1f94
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListByResourceGroup.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {}
+ },
+ {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T23:06:59+00:00",
+ "endpoint": "https://contoso2.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso2",
+ "name": "contoso2",
+ "location": "westus",
+ "tags": {}
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeyValue.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeyValue.json
new file mode 100644
index 000000000000..a780f8074510
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeyValue.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "fayeh",
+ "api-version": "2020-06-01",
+ "listKeyValueParameters": {
+ "key": "MaxRequests",
+ "label": "dev"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "key": "MaxRequests",
+ "label": "dev",
+ "value": "100",
+ "contentType": "",
+ "eTag": "4f6dd610dd5e4deebc7fbaef685fb903",
+ "lastModified": "2017-12-05T02:41:26+00:00",
+ "locked": false,
+ "tags": {
+ "t1": "value1",
+ "t2": "value2"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeys.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeys.json
new file mode 100644
index 000000000000..24f870ab5624
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListKeys.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "439AD01B4BE67DB1",
+ "name": "Primary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": false
+ },
+ {
+ "id": "CB45E100456857B9",
+ "name": "Secondary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": false
+ },
+ {
+ "id": "B3AC55B7E71431A9",
+ "name": "Primary Read Only",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": true
+ },
+ {
+ "id": "E2AF6A9A89DCC177",
+ "name": "Secondary Read Only",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-24T16:30:54+00:00",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListPrivateEndpointConnections.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..d16b2493026c
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresListPrivateEndpointConnections.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateEndpointConnections/myConnection",
+ "name": "myConnection",
+ "type": "Microsoft.AppConfiguration/configurationStores/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/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresRegenerateKey.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresRegenerateKey.json
new file mode 100644
index 000000000000..5cab41e0b835
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresRegenerateKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01",
+ "regenerateKeyParameters": {
+ "id": "439AD01B4BE67DB1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "439AD01B4BE67DB1",
+ "name": "Primary",
+ "value": "000000000000000000000000000000000000000000000000000000",
+ "connectionString": "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
+ "lastModified": "2018-04-26T22:59:24.2370906+00:00",
+ "readOnly": false
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdate.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdate.json
new file mode 100644
index 000000000000..67248bc6daa3
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdate.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01",
+ "configStoreUpdateParameters": {
+ "tags": {
+ "Category": "Marketing"
+ },
+ "sku": {
+ "name": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdateWithIdentity.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdateWithIdentity.json
new file mode 100644
index 000000000000..f7444dbab67d
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/ConfigurationStoresUpdateWithIdentity.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01",
+ "configStoreUpdateParameters": {
+ "tags": {
+ "Category": "Marketing"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {}
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "type": "Microsoft.AppConfiguration/configurationStores",
+ "properties": {
+ "provisioningState": "Updating",
+ "creationDate": "2018-04-24T16:30:55+00:00",
+ "endpoint": "https://contoso.azconfig.io",
+ "encryption": {
+ "keyVaultProperties": {
+ "keyIdentifier": null,
+ "identityClientId": null
+ }
+ },
+ "privateEndpointConnections": [],
+ "publicNetworkAccess": "Disabled"
+ },
+ "sku": {
+ "name": "Standard"
+ },
+ "identity": {
+ "principalId": "AAAAAAAA-AAAA-AAAA-AAAA-AAAAAAAAAAAA",
+ "tenantId": "BBBBBBBB-BBBB-BBBB-BBBB-BBBBBBBBBBBB",
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourcegroups/myResourceGroup1/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity2": {
+ "clientId": "CCCCCCCC-CCCC-CCCC-CCCC-CCCCCCCCCCCC",
+ "principalId": "DDDDDDDD-DDDD-DDDD-DDDD-DDDDDDDDDDDD"
+ }
+ }
+ },
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso",
+ "name": "contoso",
+ "location": "westus",
+ "tags": {
+ "Category": "Marketing"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourceGet.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourceGet.json
new file mode 100644
index 000000000000..ccbd2784bf6e
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourceGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01",
+ "groupName": "configurationStores"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores",
+ "name": "configurationStores",
+ "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources",
+ "properties": {
+ "groupId": "configurationStores",
+ "requiredMembers": [
+ "configurationStores"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azconfig.io"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourcesListByConfigurationStore.json b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourcesListByConfigurationStore.json
new file mode 100644
index 000000000000..fd340f657b36
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/Microsoft.AppConfiguration/stable/2020-06-01/examples/PrivateLinkResourcesListByConfigurationStore.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "c80fb759-c965-4c6a-9110-9b2b2d038882",
+ "resourceGroupName": "myResourceGroup",
+ "configStoreName": "contoso",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/c80fb759-c965-4c6a-9110-9b2b2d038882/resourceGroups/myResourceGroup/providers/Microsoft.AppConfiguration/configurationStores/contoso/privateLinkResources/configurationStores",
+ "name": "configurationStores",
+ "type": "Microsoft.AppConfiguraiton/configurationStores/privateLinkResources",
+ "properties": {
+ "groupId": "configurationStores",
+ "requiredMembers": [
+ "configurationStores"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azconfig.io"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appconfiguration/resource-manager/readme.azureresourceschema.md b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..8c628ac435fb
--- /dev/null
+++ b/specification/appconfiguration/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,60 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-appconfiguration-2020-06-01
+ - tag: schema-appconfiguration-2019-11-01-preview
+ - tag: schema-appconfiguration-2019-10-01
+ - tag: schema-appconfiguration-2019-02-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-appconfiguration-2020-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-appconfiguration-2020-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json
+
+```
+
+### Tag: schema-appconfiguration-2019-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-appconfiguration-2019-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json
+
+```
+
+### Tag: schema-appconfiguration-2019-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-appconfiguration-2019-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
+
+```
+
+### Tag: schema-appconfiguration-2019-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-appconfiguration-2019-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
+
+```
diff --git a/specification/appconfiguration/resource-manager/readme.go.md b/specification/appconfiguration/resource-manager/readme.go.md
index 2571d89226d2..169e554cc7cc 100644
--- a/specification/appconfiguration/resource-manager/readme.go.md
+++ b/specification/appconfiguration/resource-manager/readme.go.md
@@ -13,11 +13,21 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-06-01
- tag: package-2019-11-01-preview
- tag: package-2019-10-01
- tag: package-2019-02-01-preview
```
+### Tag: package-2020-06-01 and go
+
+These settings apply only when `--tag=package-2020-06-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-01' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-06-01/$(namespace)
+```
+
### Tag: package-2019-11-01-preview and go
These settings apply only when `--tag=package-2019-11-01-preview --go` is specified on the command line.
diff --git a/specification/appconfiguration/resource-manager/readme.java.md b/specification/appconfiguration/resource-manager/readme.java.md
index b8c72208580f..f20aca80ff98 100644
--- a/specification/appconfiguration/resource-manager/readme.java.md
+++ b/specification/appconfiguration/resource-manager/readme.java.md
@@ -16,10 +16,24 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appconfiguration
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-06-01
- tag: package-2019-10-01
- tag: package-2019-02-01-preview
```
+### Tag: package-2020-06-01 and java
+
+These settings apply only when `--tag=package-2020-06-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag)=='package-2020-06-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.appconfiguration.v2020_06_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/appconfiguration/mgmt-v2020_06_01
+regenerate-manager: true
+generate-interface: true
+```
+
### Tag: package-2019-10-01 and java
These settings apply only when `--tag=package-2019-10-01 --java` is specified on the command line.
diff --git a/specification/appconfiguration/resource-manager/readme.md b/specification/appconfiguration/resource-manager/readme.md
index feac2e4b88ce..8b0a55eef85c 100644
--- a/specification/appconfiguration/resource-manager/readme.md
+++ b/specification/appconfiguration/resource-manager/readme.md
@@ -26,7 +26,16 @@ These are the global settings for the AppConfiguration API.
``` yaml
openapi-type: arm
-tag: package-2019-11-01-preview
+tag: package-2020-06-01
+```
+
+### Tag: package-2020-06-01
+
+These settings apply only when `--tag=package-2020-06-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-01'
+input-file:
+- Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json
```
### Tag: package-2019-11-01-preview
@@ -76,6 +85,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_app_configuration']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js appconfiguration/resource-manager
```
## C#
@@ -120,6 +132,10 @@ directive:
reason: This is data plane level information proxied through the RP and cannot be changed.
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -132,6 +148,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.AppConfiguration/stable/2020-06-01/appconfiguration.json
- $(this-folder)/Microsoft.AppConfiguration/preview/2019-11-01-preview/appconfiguration.json
- $(this-folder)/Microsoft.AppConfiguration/preview/2019-02-01-preview/appconfiguration.json
- $(this-folder)/Microsoft.AppConfiguration/stable/2019-10-01/appconfiguration.json
diff --git a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json
index 506c07d7005c..84c37e5c22d6 100644
--- a/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json
+++ b/specification/applicationinsights/data-plane/Microsoft.Insights/preview/v1/AppInsights.json
@@ -27,11 +27,11 @@
"application/json"
],
"securityDefinitions": {
- "azure_auth": {
+ "oauth2": {
"type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize?resource=https%3A%2F%2Fapi.applicationinsights.io",
"flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
+ "description": "Connect to Azure Application Insights API",
"scopes": {
"user_impersonation": "impersonate your user account"
}
@@ -39,7 +39,7 @@
},
"security": [
{
- "azure_auth": [
+ "oauth2": [
"user_impersonation"
]
}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
index 7edd5795db3b..85fd1577f11b 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
@@ -34,7 +34,7 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooks": {
"get": {
"description": "Get all Workbooks defined within a specified resource group and category.",
"operationId": "Workbooks_ListByResourceGroup",
@@ -85,7 +85,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}": {
"get": {
"description": "Get a single workbook by its resourceName.",
"operationId": "Workbooks_Get",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
index b4e94629052f..6c1383c0621b 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
@@ -34,7 +34,7 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries": {
"get": {
"description": "Gets a list of Queries defined within a Log Analytics QueryPack.",
"operationId": "Queries_List",
@@ -65,17 +65,17 @@
"nextLinkName": "nextLink"
},
"responses": {
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
"200": {
"description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.",
"schema": {
"$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
@@ -85,7 +85,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/search": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/search": {
"post": {
"description": "Search a list of Queries defined within a Log Analytics QueryPack according to given search properties.",
"operationId": "Queries_Search",
@@ -125,17 +125,17 @@
"nextLinkName": "nextLink"
},
"responses": {
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
"200": {
"description": "A list containing 0 or more queries contained within the Log Analytics QueryPack.",
"schema": {
"$ref": "#/definitions/LogAnalyticsQueryPackQueryListResult"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
@@ -145,7 +145,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}/queries/{queryId}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}/queries/{id}": {
"get": {
"description": "Gets a specific Log Analytics Query defined within a Log Analytics QueryPack.",
"operationId": "Queries_Get",
@@ -167,17 +167,17 @@
}
],
"responses": {
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
"200": {
"description": "A single query contained within the Log Analytics QueryPack.",
"schema": {
"$ref": "#/definitions/LogAnalyticsQueryPackQuery"
}
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
@@ -216,22 +216,71 @@
}
],
"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": "#/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": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
- "QueryPut": {
- "$ref": "./examples/QueryPackQueriesPut.json"
+ "QueryPatch": {
+ "$ref": "./examples/QueryPackQueriesUpdate.json"
}
}
},
@@ -256,17 +305,17 @@
}
],
"responses": {
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- },
"200": {
"description": "The query has been successfully removed from the Log Analytics QueryPack"
},
"204": {
"description": "The specified query or associated QueryPack does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
}
},
"x-ms-examples": {
@@ -281,16 +330,82 @@
"ErrorResponse": {
"description": "Describe the format of an Error response.",
"type": "object",
+ "properties": {
+ "error": {
+ "description": "The error details.",
+ "$ref": "#/definitions/ErrorInfo"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "title": "Error details.",
+ "type": "object",
"properties": {
"code": {
- "description": "Error code",
+ "description": "The error's code.",
"type": "string"
},
"message": {
- "description": "Error message indicating why the operation failed.",
+ "description": "A human readable error message.",
"type": "string"
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Indicates which value in 'target' is responsible for the error.",
+ "type": "string"
+ },
+ "resources": {
+ "description": "Indicates resources which were responsible for the error.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": {
+ "description": "Additional properties that can be provided on the error details object",
+ "type": "object"
}
- }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "ErrorInfo": {
+ "title": "The code and message for an error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "A machine readable error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "details": {
+ "description": "error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ },
+ "innererror": {
+ "description": "Inner error details if they exist.",
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "additionalProperties": {
+ "description": "Additional properties that can be provided on the error info object",
+ "type": "object"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
},
"AzureResourceProperties": {
"properties": {
@@ -308,6 +423,11 @@
"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"
@@ -330,7 +450,7 @@
"LogAnalyticsQueryPackQueryProperties": {
"description": "Properties that define an Log Analytics QueryPack-Query resource.",
"properties": {
- "queryId": {
+ "id": {
"type": "string",
"description": "The unique ID of your application. This field cannot be changed.",
"readOnly": true
@@ -367,31 +487,46 @@
"readOnly": false,
"description": "Body of the query."
},
- "linkedResourceId": {
- "type": "string",
- "readOnly": false,
- "description": "Resource id associated with the query."
- },
- "categories": {
- "description": "Categories associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
+ "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"
+ }
+ }
}
},
- "resourceTypes": {
- "description": "Resource Types associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
+ "tags": {
+ "description": "Tags associated with the query.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
},
- "labels": {
- "description": "Labels associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
- }
+ "properties": {
+ "type": "object",
+ "description": "Additional properties that can be set for the query."
}
},
"required": [
@@ -402,25 +537,41 @@
"LogAnalyticsQueryPackQuerySearchProperties": {
"description": "Properties that define an Log Analytics QueryPack-Query search properties.",
"properties": {
- "categories": {
- "description": "Categories associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "resourceTypes": {
- "description": "Resource Types associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
+ "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"
+ }
+ }
}
},
- "labels": {
- "description": "Labels associated with the query.",
- "type": "array",
- "items": {
- "type": "string"
+ "tags": {
+ "description": "Tags associated with the query.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
}
}
}
@@ -443,6 +594,52 @@
"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": {
@@ -455,7 +652,7 @@
"x-ms-parameter-location": "method"
},
"QueryIdParameter": {
- "name": "queryId",
+ "name": "id",
"in": "path",
"required": true,
"type": "string",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
index de48278f9aa3..58d3e127d4db 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
@@ -34,7 +34,44 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/providers/microsoft.insights/queryPacks": {
+ "/providers/Microsoft.Insights/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available insights REST API operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Insights error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/queryPacks": {
"get": {
"description": "Gets a list of all Log Analytics QueryPacks within a subscription.",
"operationId": "QueryPacks_List",
@@ -70,7 +107,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks": {
"get": {
"description": "Gets a list of Log Analytics QueryPacks within a resource group.",
"operationId": "QueryPacks_ListByResourceGroup",
@@ -109,7 +146,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/queryPacks/{queryPackName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/queryPacks/{queryPackName}": {
"delete": {
"description": "Deletes a Log Analytics QueryPack.",
"operationId": "QueryPacks_Delete",
@@ -285,16 +322,82 @@
"ErrorResponse": {
"description": "Describe the format of an Error response.",
"type": "object",
+ "properties": {
+ "error": {
+ "description": "The error details.",
+ "$ref": "#/definitions/ErrorInfo"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "title": "Error details.",
+ "type": "object",
"properties": {
"code": {
- "description": "Error code",
+ "description": "The error's code.",
"type": "string"
},
"message": {
- "description": "Error message indicating why the operation failed.",
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
"type": "string"
+ },
+ "value": {
+ "description": "Indicates which value in 'target' is responsible for the error.",
+ "type": "string"
+ },
+ "resources": {
+ "description": "Indicates resources which were responsible for the error.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "additionalProperties": {
+ "description": "Additional properties that can be provided on the error details object",
+ "type": "object"
}
- }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "ErrorInfo": {
+ "title": "The code and message for an error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "A machine readable error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "details": {
+ "description": "error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ },
+ "innererror": {
+ "description": "Inner error details if they exist.",
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "additionalProperties": {
+ "description": "Additional properties that can be provided on the error info object",
+ "type": "object"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
},
"QueryPacksResource": {
"properties": {
@@ -408,6 +511,68 @@
"description": "The URI to get the next set of Log Analytics QueryPack definitions if too many QueryPacks where returned in the result set."
}
}
+ },
+ "Operation": {
+ "description": "CDN 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": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Display of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list CDN operations. It contains a list of operations and a URL link to get the next set of results.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "uniqueItems": false,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of CDN operations supported by the CDN resource provider."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "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": {
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
index f2efa8ef8cc2..c5bbf23ef665 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesDelete.json
@@ -4,7 +4,7 @@
"subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
"resourceGroupName": "my-resource-group",
"queryPackName": "my-querypack",
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
+ "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
},
"responses": {
"200": {},
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
index 5d4d7f4415b8..c2666213a43f 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesGet.json
@@ -4,7 +4,7 @@
"subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
"resourceGroupName": "my-resource-group",
"queryPackName": "my-querypack",
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
+ "id": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4"
},
"responses": {
"200": {
@@ -12,9 +12,17 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"type": "microsoft.insights/queryPacks/queries",
+ "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",
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "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",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
index 316a829cfdf1..657b2d706e0f 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesList.json
@@ -14,8 +14,16 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
"name": "4337bb16-d6fe-4ff7-97cf-59df25941476",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "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",
@@ -28,8 +36,16 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "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",
@@ -42,8 +58,16 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "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",
@@ -56,8 +80,16 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a5a9010e-e4b7-45ad-8b14-09d7e6082819",
"name": "a5a9010e-e4b7-45ad-8b14-09d7e6082819",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "a5a9010e-e4b7-45ad-8b14-09d7e6082819",
+ "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",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
index 3680b863b5ae..7146d0101472 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesPut.json
@@ -4,20 +4,25 @@
"subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4918",
"resourceGroupName": "my-resource-group",
"queryPackName": "my-querypack",
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "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",
- "categories": [
- "analytics"
- ],
- "labels": [
- "my-label",
- "my-other-label"
- ],
- "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere"
+ "related": {
+ "categories": [
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
}
},
@@ -27,22 +32,35 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "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",
- "categories": [
- "analytics"
- ],
- "labels": [
- "my-label",
- "my-other-label"
- ],
- "linkedResourceId": "/subscriptions/a51967b5-271e-4f12-810e-e7fa20c8828d/resourceGroups/FoodHere/providers/Microsoft.KeyVault/vaults/FoodHere"
+ "related": {
+ "categories": [
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
}
}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
index 186ce1ec3f41..7a5d2118c10d 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesSearch.json
@@ -7,13 +7,17 @@
"includeBody": true,
"$top": 3,
"QuerySearchProperties": {
- "categories": [
- "other",
- "analytics"
- ],
- "labels": [
- "my-label"
- ]
+ "related": {
+ "categories": [
+ "other",
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ]
+ }
}
},
"responses": {
@@ -24,61 +28,106 @@
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/4337bb16-d6fe-4ff7-97cf-59df25941476",
"name": "4337bb16-d6fe-4ff7-97cf-59df25941476",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "4337bb16-d6fe-4ff7-97cf-59df25941476",
+ "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",
- "categories": [
- "other"
- ],
- "labels": [
- "my-label"
- ]
+ "related": {
+ "categories": [
+ "other"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
},
{
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"name": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "bf015bf7-be70-49c2-8d52-4cce85c42ef1",
+ "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",
- "categories": [
- "analytics"
- ],
- "labels": [
- "my-label"
- ]
+ "related": {
+ "categories": [
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
},
{
"id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4918/resourceGroups/my-resource-group/providers/microsoft.insights/queryPacks/my-querypack/queries/8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"name": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
"type": "microsoft.insights/queryPacks/queries",
+ "systemData": {
+ "createdBy": "string",
+ "createdByType": "application",
+ "createdAt": "2020-02-03T01:01:01.1075056Z",
+ "lastModifiedBy": "string",
+ "lastModifiedByType": "application",
+ "lastModifiedAt": "2020-02-04T02:03:01.1974346Z"
+ },
"properties": {
- "queryId": "8d91c6ca-9c56-49c6-b3ae-112a68871acd",
+ "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",
- "categories": [
- "other",
- "analytics"
- ],
- "labels": [
- "my-label"
- ]
+ "related": {
+ "categories": [
+ "other",
+ "analytics"
+ ]
+ },
+ "tags": {
+ "my-label": [
+ "label1"
+ ],
+ "my-other-label": [
+ "label2"
+ ]
+ }
}
}
],
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json
new file mode 100644
index 000000000000..7146d0101472
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-09-01-preview/examples/QueryPackQueriesUpdate.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2019-09-01-preview",
+ "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.insights/queryPacks/my-querypack/queries/a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "name": "a449f8af-8e64-4b3a-9b16-5a7165ff98c4",
+ "type": "microsoft.insights/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/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
index d1c3fab2538e..6bc485e75fd9 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
@@ -34,7 +34,7 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooktemplates": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooktemplates": {
"get": {
"description": "Get all Workbook templates defined within a specified resource group.",
"operationId": "WorkbookTemplates_ListByResourceGroup",
@@ -73,7 +73,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooktemplates/{resourceName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooktemplates/{resourceName}": {
"get": {
"description": "Get a single workbook template by its resourceName.",
"operationId": "WorkbookTemplates_Get",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json
index c8606af89280..574b88250e5d 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-02-02-preview/components_API.json
@@ -509,6 +509,12 @@
"type": "string",
"description": "ResourceId of the log analytics workspace which the data will be ingested to."
},
+ "LaMigrationDate": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The date which the component got migrated to LA, in ISO 8601 format.",
+ "format": "date-time"
+ },
"PrivateLinkScopedResources": {
"readOnly": true,
"type": "array",
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/LiveTokenGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/LiveTokenGet.json
new file mode 100644
index 000000000000..abf2f0593a87
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/LiveTokenGet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "resourceUri": "subscriptions/df602c9c-7aa0-407d-a6fb-eb20c8bd1192/resourceGroups/FabrikamFiberApp/providers/microsoft.insights/components/CustomAvailabilityTest/providers/microsoft.insights/generatelivetoken",
+ "api-version": "2020-06-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "liveToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/Operations_List.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/Operations_List.json
new file mode 100644
index 000000000000..fdfbf1775678
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/examples/Operations_List.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-06-02-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "microsoft.insights/generatelivetoken",
+ "display": {
+ "provider": "Microsoft Container Instance",
+ "resource": "generatelivetoken",
+ "operation": "Gets an access token for live metrics stream data",
+ "description": "Gets an access token for live metrics stream data"
+ },
+ "origin": "User"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
new file mode 100644
index 000000000000..bac300f6f969
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
@@ -0,0 +1,205 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "x-ms-code-generation-settings": {
+ "name": "ApplicationInsightsManagementClient"
+ },
+ "version": "2020-06-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.insights/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List available operations.",
+ "description": "List the available operations supported by the resource provider.",
+ "operationId": "Operations_List",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationsListResult"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***\n\n * 400 Bad Request.\n\n * 500 Internal Server Error."
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Operations_List": {
+ "$ref": "./examples/Operations_List.json"
+ }
+ }
+ }
+ },
+ "/{resourceUri}/providers/microsoft.insights/generatelivetoken": {
+ "post": {
+ "tags": [
+ "LiveToken"
+ ],
+ "operationId": "LiveToken_Get",
+ "description": "**Gets an access token for live metrics stream data.**",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceUriParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../2020-03-01-preview/componentLinkedStorageAccounts_API.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "Successful response containing the live metrics stream token.",
+ "schema": {
+ "$ref": "#/definitions/LiveTokenResponse"
+ },
+ "examples": {
+ "application/json": {
+ "liveToken": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c"
+ }
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get live token for resource": {
+ "$ref": "./examples/LiveTokenGet.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LiveTokenResponse": {
+ "type": "object",
+ "properties": {
+ "liveToken": {
+ "type": "string",
+ "description": "JWT token for accessing live metrics stream data.",
+ "readOnly": true
+ }
+ },
+ "description": "The response to a live token query."
+ },
+ "OperationsListResult": {
+ "description": "Result of the List Operations operation",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A collection of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationLive"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "OperationLive": {
+ "description": "Represents an operation returned by the GetOperations request",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationInfo",
+ "description": "Display name of the operation"
+ },
+ "origin": {
+ "description": "Origin of the operation",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Properties of the operation",
+ "type": "object",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationInfo": {
+ "description": "Information about an operation",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Name of the provider",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Name of the resource type",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Name of the operation",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ResourceUriParameter": {
+ "name": "resourceUri",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The identifier of the resource.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json
new file mode 100644
index 000000000000..44b33f169d2d
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookAdd.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "subscriptionId": "00000000-0000-0000-0000-00000000",
+ "workbookProperties": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "location": "west us",
+ "kind": "user",
+ "properties": {
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "displayName": "Blah Blah Blah",
+ "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"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "user",
+ "properties": {
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "displayName": "Blah Blah Blah",
+ "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": "ME",
+ "category": "workbook"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "user",
+ "properties": {
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "displayName": "Blah Blah Blah",
+ "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": "ME",
+ "category": "workbook"
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json
new file mode 100644
index 000000000000..0f0066656add
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "201": {},
+ "204": {}
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json
new file mode 100644
index 000000000000..640ff6b08c01
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookGet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "kind": "user",
+ "properties": {
+ "displayName": "My New Workbook",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "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": "ME",
+ "category": "workbook",
+ "timeModified": null
+ },
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json
new file mode 100644
index 000000000000..6df92009e06e
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbookUpdate.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "resourceName": "deadb33f-5e0d-4064-8ebb-1a4ed0313eb2",
+ "workbookProperties": {
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "location": "west us",
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ],
+ "kind": "user",
+ "properties": {
+ "displayName": "Blah Blah Blah",
+ "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": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [
+ "TagSample01",
+ "TagSample02"
+ ],
+ "kind": "user",
+ "properties": {
+ "displayName": "Blah Blah Blah",
+ "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": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json
new file mode 100644
index 000000000000..5aca7c5f3e07
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/examples/MyWorkbooksList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2015-05-01",
+ "subscriptionId": "6b643656-33eb-422f-aee8-3ac145d124af",
+ "resourceGroupName": "my-resource-group",
+ "category": "workbook"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "tags": [],
+ "kind": "user",
+ "properties": {
+ "displayName": "My Workbook 1",
+ "userId": "userId",
+ "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": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook",
+ "timeModified": null
+ }
+ },
+ {
+ "id": "/subscriptions/6b643656-33eb-422f-aee8-3ac145d124af/resourceGroups/my-resource-group/providers/microsoft.insights/myworkbooks/c0deea5e-3344-40f2-96f8-6f8e1c3b5722",
+ "type": "microsoft.insights/myworkbooks",
+ "location": "westus",
+ "name": "deadb33f-8bee-4d3b-a059-9be8dac93960",
+ "kind": "user",
+ "tags": [
+ "SampleTag01",
+ "SampleTag2"
+ ],
+ "properties": {
+ "displayName": "My Workbook 2",
+ "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": "ME",
+ "sourceId": "/subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/MyGroup/providers/Microsoft.Web/sites/MyTestApp-CodeLens",
+ "category": "workbook",
+ "timeModified": null
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
new file mode 100644
index 000000000000..3f3d5067ce54
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
@@ -0,0 +1,539 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ApplicationInsightsManagementClient",
+ "description": "Azure Application Insights private workbook type.",
+ "version": "2015-05-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/myWorkbooks": {
+ "get": {
+ "description": "Get all private workbooks defined within a specified resource group and category.",
+ "operationId": "MyWorkbooks_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/CategoryParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ },
+ {
+ "$ref": "#/parameters/CanFetchWorkbookContentParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more private workbook definitions.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbooksListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "WorkbooksList": {
+ "$ref": "./examples/MyWorkbooksList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Insights/myWorkbooks": {
+ "get": {
+ "description": "Get all private workbooks defined within a specified subscription and category.",
+ "operationId": "MyWorkbooks_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/CategoryParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ },
+ {
+ "$ref": "#/parameters/CanFetchWorkbookContentParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more private workbook definitions.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbooksListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "WorkbooksList": {
+ "$ref": "./examples/MyWorkbooksList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/myWorkbooks/{resourceName}": {
+ "get": {
+ "description": "Get a single private workbook by its resourceName.",
+ "operationId": "MyWorkbooks_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A private workbook definition.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookGet": {
+ "$ref": "./examples/MyWorkbookGet.json"
+ }
+ }
+ },
+ "delete": {
+ "description": "Delete a private workbook.",
+ "operationId": "MyWorkbooks_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "The private workbook has been successfully deleted."
+ },
+ "204": {
+ "description": "The resource doesn't exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookDelete": {
+ "$ref": "./examples/MyWorkbookDelete.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Create a new private workbook.",
+ "operationId": "MyWorkbooks_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "workbookProperties",
+ "description": "Properties that need to be specified to create a new private workbook.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The newly created private workbook.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "201": {
+ "description": "The newly created private workbook.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookAdd": {
+ "$ref": "./examples/MyWorkbookAdd.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates a private workbook that has already been added.",
+ "operationId": "MyWorkbooks_Update",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/WorkbookResourceNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "workbookProperties",
+ "description": "Properties that need to be specified to create a new private workbook.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The private workbook definition updated.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbook"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/MyWorkbookError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "WorkbookUpdate": {
+ "$ref": "./examples/MyWorkbookUpdate.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "MyWorkbookResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Azure resource Id",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Azure resource name",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "type": {
+ "type": "string",
+ "description": "Azure resource type",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "MyWorkbooksListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/MyWorkbook"
+ },
+ "description": "An array of private workbooks."
+ }
+ },
+ "description": "Workbook list result."
+ },
+ "MyWorkbook": {
+ "description": "An Application Insights private workbook definition.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/MyWorkbookResource"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "The kind of workbook. Choices are user and shared.",
+ "enum": [
+ "user",
+ "shared"
+ ],
+ "x-ms-enum": {
+ "name": "SharedTypeKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Metadata describing a workbook for an Azure resource.",
+ "$ref": "#/definitions/MyWorkbookProperties"
+ }
+ }
+ },
+ "MyWorkbookProperties": {
+ "description": "Properties that contain a private workbook.",
+ "required": [
+ "displayName",
+ "category",
+ "serializedData"
+ ],
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The user-defined name of the private workbook."
+ },
+ "serializedData": {
+ "type": "string",
+ "description": "Configuration of this particular private workbook. Configuration data is a string containing valid JSON"
+ },
+ "version": {
+ "type": "string",
+ "description": "This instance's version of the data model. This can change as new features are added that can be marked private workbook."
+ },
+ "timeModified": {
+ "type": "string",
+ "description": "Date and time in UTC of the last modification that was made to this private workbook definition.",
+ "readOnly": true
+ },
+ "category": {
+ "type": "string",
+ "description": "Workbook category, as defined by the user at creation time."
+ },
+ "tags": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "A list of 0 or more tags that are associated with this private workbook definition"
+ },
+ "userId": {
+ "type": "string",
+ "description": "Unique user id of the specific user that owns this private workbook.",
+ "readOnly": true
+ },
+ "sourceId": {
+ "type": "string",
+ "description": "Optional resourceId for a source resource."
+ }
+ }
+ },
+ "ErrorFieldContract": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Property level error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of property-level error."
+ },
+ "target": {
+ "type": "string",
+ "description": "Property name."
+ }
+ },
+ "description": "Error Field contract."
+ },
+ "MyWorkbookError": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "Service-defined error code. This code serves as a sub-status for the HTTP error code specified in the response."
+ },
+ "message": {
+ "type": "string",
+ "description": "Human-readable representation of the error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorFieldContract"
+ },
+ "description": "The list of invalid fields send in request, in case of validation error."
+ }
+ },
+ "description": "Error message body that will indicate why the operation failed."
+ }
+ },
+ "parameters": {
+ "WorkbookResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Application Insights component resource.",
+ "x-ms-parameter-location": "method"
+ },
+ "CategoryParameter": {
+ "name": "category",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "workbook",
+ "TSG",
+ "performance",
+ "retention"
+ ],
+ "x-ms-enum": {
+ "name": "CategoryType",
+ "modelAsString": true
+ },
+ "description": "Category of workbook to return.",
+ "x-ms-parameter-location": "method"
+ },
+ "SourceIdParameter": {
+ "name": "sourceId",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Azure Resource Id that will fetch all linked workbooks.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceIdParameter": {
+ "name": "resourceId",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Azure Resource Id or any target workbook resource id.",
+ "x-ms-parameter-location": "method"
+ },
+ "CanFetchWorkbookContentParameter": {
+ "name": "canFetchContent",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Flag indicating whether or not to return the full content for each applicable workbook. If false, only return summary content for workbooks.",
+ "x-ms-parameter-location": "method"
+ },
+ "TagsParameter": {
+ "name": "tags",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "collectionFormat": "csv",
+ "description": "Tags presents on each workbook returned.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/workbooks_API.json b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/workbooks_API.json
index 3586ec6c86b1..f3fb7bdc4e2d 100644
--- a/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+++ b/specification/applicationinsights/resource-manager/Microsoft.Insights/stable/2015-05-01/workbooks_API.json
@@ -34,7 +34,7 @@
}
},
"paths": {
- "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooks": {
"get": {
"description": "Get all Workbooks defined within a specified resource group and category.",
"operationId": "Workbooks_ListByResourceGroup",
@@ -82,7 +82,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroup/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.insights/workbooks/{resourceName}": {
"get": {
"description": "Get a single workbook by its resourceName.",
"operationId": "Workbooks_Get",
diff --git a/specification/applicationinsights/resource-manager/readme.azureresourceschema.md b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..12a53d8275a8
--- /dev/null
+++ b/specification/applicationinsights/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,148 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-insights-2020-06-02-preview
+ - tag: schema-insights-2020-03-01-preview
+ - tag: schema-insights-2020-02-10-preview
+ - tag: schema-insights-2020-02-02-preview
+ - tag: schema-insights-2019-10-17-preview
+ - tag: schema-insights-2019-09-01-preview
+ - tag: schema-insights-2018-06-17-preview
+ - tag: schema-insights-2018-05-01-preview
+ - tag: schema-insights-2017-10-01
+ - tag: schema-insights-2015-05-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-insights-2020-06-02-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2020-06-02-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
+
+```
+
+### Tag: schema-insights-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
+
+```
+
+### Tag: schema-insights-2020-02-10-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2020-02-10-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
+
+```
+
+### Tag: schema-insights-2020-02-02-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2020-02-02-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2020-02-02-preview/components_API.json
+
+```
+
+### Tag: schema-insights-2019-10-17-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2019-10-17-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
+
+```
+
+### Tag: schema-insights-2019-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2019-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
+ - Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
+
+```
+
+### Tag: schema-insights-2018-06-17-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2018-06-17-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
+
+```
+
+### Tag: schema-insights-2018-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2018-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2018-05-01-preview/components_API.json
+ - Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
+
+```
+
+### Tag: schema-insights-2017-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2017-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json
+ - Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json
+
+```
+
+### Tag: schema-insights-2015-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-insights-2015-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+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/2015-05-01/workbooks_API.json
+ - Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
+ - Microsoft.Insights/stable/2015-05-01/components_API.json
+
+```
diff --git a/specification/applicationinsights/resource-manager/readme.go.md b/specification/applicationinsights/resource-manager/readme.go.md
index d3b2a8df018a..1fb4390be7b1 100644
--- a/specification/applicationinsights/resource-manager/readme.go.md
+++ b/specification/applicationinsights/resource-manager/readme.go.md
@@ -41,6 +41,7 @@ input-file:
- ./Microsoft.Insights/stable/2015-05-01/components_API.json
- ./Microsoft.Insights/stable/2015-05-01/webTests_API.json
- ./Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+ - ./Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
override-info:
title: ApplicationInsightsManagementClient
diff --git a/specification/applicationinsights/resource-manager/readme.md b/specification/applicationinsights/resource-manager/readme.md
index b01e064aecde..1a530b904a3c 100644
--- a/specification/applicationinsights/resource-manager/readme.md
+++ b/specification/applicationinsights/resource-manager/readme.md
@@ -28,7 +28,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-preview-2020-02
+tag: package-preview-2020-06
```
## Suppression
@@ -37,216 +37,116 @@ tag: package-preview-2020-02
directive:
- suppress: LongRunningOperationsWithLongRunningExtension
where:
- - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge"].post
+ - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/purge"].post'
reason: Original creation of the service did not comply with current ARM schema standards. The team is aware of it and any future updates should rectify the issue.
-
- suppress: TrackedResourceListByImmediateParent
where:
- $.definitions
reason:
- we do have list operations available for our operations on individual instances of objects returned. False positives.
-
- suppress: PutRequestResponseScheme
- reason: This api was existing there from 2015, it will break existing client if we change the request/response format
- #where:
- # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"].put
-
+ reason: 'This api was existing there from 2015, it will break existing client if we change the request/response format'
- suppress: ListInOperationName
- reason: The return value is an object, not an array. Looks like a false positive of the validation tool.
- #where:
- # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"].get.operationId
-
+ reason: 'The return value is an object, not an array. Looks like a false positive of the validation tool.'
- suppress: PutInOperationName
- reason: We are not doing create on this api, it is only doing update in this PUT api call.
- #where:
- # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"].put.operationId
- # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"].put.operationId
-
+ reason: 'We are not doing create on this api, it is only doing update in this PUT api call.'
- suppress: XmsResourceInPutResponse
- reason: This api was existing there from 2015, it will break existing client if we change the request/response format
- #where:
- # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/exportconfiguration/{exportId}"].put
- # - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/currentbillingfeatures"].put
-
+ reason: 'This api was existing there from 2015, it will break existing client if we change the request/response format'
- suppress: RequiredPropertiesMissingInResourceModel
- reason: This api was existing there from 2015, it will break existing client if we change the response format
- #where:
- # - $.definitions.ApplicationInsightsComponentExportConfiguration
- # - $.definitions.ApplicationInsightsComponentBillingFeatures
-
+ reason: 'This api was existing there from 2015, it will break existing client if we change the response format'
- suppress: BodyTopLevelProperties
- reason: This api was existing there from 2015, it will break existing client if we change the response format
- #where:
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties
- # - $.definitions.ApplicationInsightsComponentBillingFeatures.properties
-
+ reason: 'This api was existing there from 2015, it will break existing client if we change the response format'
- suppress: EnumInsteadOfBoolean
- reason: This api was existing there from 2015, it will break existing client if we change the type
- #where:
- # - $.definitions.WebTestProperties.properties.Enabled
- # - $.definitions.WebTestProperties.properties.RetryEnabled
- # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.StopSendNotificationWhenHitThreshold
- # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.StopSendNotificationWhenHitCap
- # - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.ShouldBeThrottled
-
+ reason: 'This api was existing there from 2015, it will break existing client if we change the type'
- suppress: DescriptionAndTitleMissing
reason: Error addresses missing description/title in inner reference. Referenced model contains title and description. Redundant.
from: componentAnnotations_API.json
where:
- $.definitions.AnnotationError.properties.innererror
-
- suppress: DescriptionAndTitleMissing
reason: Error addresses missing description/title in inner reference. Referenced model contains title and description. Redundant.
from: componentWorkItemConfigs_API.json
where:
- $.definitions.WorkItemConfigurationError.properties.innererror
-
- suppress: LROStatusCodesReturnTypeSchema
reason: The response for 200 does define a schema in place. The test likely expects a 'ref' member. False failure.
from: componentAnnotations_API.json
where:
- - $.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations"].put.responses["200"]
-
+ - '$.paths["/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Insights/components/{resourceName}/Annotations"].put.responses["200"]'
- suppress: DefinitionsPropertiesNamesCamelCase
- reason: This api was existing there from 2015, it will break existing client if we change the name
- # where:
- # - $.definitions.ApplicationInsightsComponentProperties.properties.ApplicationId
- # - $.definitions.ApplicationInsightsComponentProperties.properties.AppId
- # - $.definitions.ApplicationInsightsComponentProperties.properties.Application_Type
- # - $.definitions.ApplicationInsightsComponentProperties.properties.Flow_Type
- # - $.definitions.ApplicationInsightsComponentProperties.properties.Request_Source
- # - $.definitions.ApplicationInsightsComponentProperties.properties.InstrumentationKey
- # - $.definitions.ApplicationInsightsComponentProperties.properties.CreationDate
- # - $.definitions.ApplicationInsightsComponentProperties.properties.TenantId
- # - $.definitions.ApplicationInsightsComponentProperties.properties.HockeyAppId
- # - $.definitions.ApplicationInsightsComponentProperties.properties.HockeyAppToken
- # - $.definitions.ApplicationInsightsComponentProperties.properties.SamplingPercentage
- # - $.definitions.WebTestProperties.properties.SyntheticMonitorId
- # - $.definitions.WebTestProperties.properties.Name
- # - $.definitions.WebTestProperties.properties.Description
- # - $.definitions.WebTestProperties.properties.Enabled
- # - $.definitions.WebTestProperties.properties.Frequency
- # - $.definitions.WebTestProperties.properties.Timeout
- # - $.definitions.WebTestProperties.properties.Kind
- # - $.definitions.WebTestProperties.properties.RetryEnabled
- # - $.definitions.WebTestProperties.properties.Locations
- # - $.definitions.WebTestProperties.properties.Configuration
- # - $.definitions.WebTestGeolocation.properties.Id
- # - $.definitions.ApplicationInsightsComponentExportRequest.properties.RecordTypes
- # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationType
- # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationAddress
- # - $.definitions.ApplicationInsightsComponentExportRequest.properties.IsEnabled
- # - $.definitions.ApplicationInsightsComponentExportRequest.properties.NotificationQueueEnabled
- # - $.definitions.ApplicationInsightsComponentExportRequest.properties.NotificationQueueUri
- # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationStorageSubscriptionId
- # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationStorageLocationId
- # - $.definitions.ApplicationInsightsComponentExportRequest.properties.DestinationAccountId
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ExportId
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.InstrumentationKey
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.RecordTypes
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ApplicationName
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.SubscriptionId
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ResourceGroup
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.DestinationStorageSubscriptionId
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.DestinationStorageLocationId
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.DestinationAccountId
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.DestinationType
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.IsUserEnabled
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.LastUserUpdate
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.NotificationQueueEnabled
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ExportStatus
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.LastSuccessTime
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.LastGapTime
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.PermanentErrorReason
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.StorageName
- # - $.definitions.ApplicationInsightsComponentExportConfiguration.properties.ContainerName
- # - $.definitions.ApplicationInsightsComponentBillingFeatures.properties.DataVolumeCap
- # - $.definitions.ApplicationInsightsComponentBillingFeatures.properties.CurrentBillingFeatures
- # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.Cap
- # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.ResetTime
- # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.WarningThreshold
- # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.StopSendNotificationWhenHitThreshold
- # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.StopSendNotificationWhenHitCap
- # - $.definitions.ApplicationInsightsComponentDataVolumeCap.properties.MaxHistoryCap
- # - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.AppId
- # - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.ShouldBeThrottled
- # - $.definitions.ApplicationInsightsComponentQuotaStatus.properties.ExpirationTime
- # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Name
- # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Enabled
- # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.SendEmailsToSubscriptionOwners
- # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.CustomEmails
- # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.LastUpdatedTime
- # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.RuleDefinitions
- # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Name
- # - $.definitions.ApplicationInsightsComponentProactiveDetectionConfiguration.properties.Name
- # - $.definitions.ApplicationInsightsComponentWebTestLocation.properties.Tag
- # - $.definitions.ApplicationInsightsComponentWebTestLocation.properties.DisplayName
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.UserId
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.IsGeneratedFromTemplate
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.Category
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.Tags
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.TimeModified
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.SourceType
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.FavoriteType
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.FavoriteId
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.Version
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.Config
- # - $.definitions.ApplicationInsightsComponentFavorite.properties.Name
- # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.MeterRateFrequency
- # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.MeterId
- # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.Unit
- # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.Value
- # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.Description
- # - $.definitions.ApplicationInsightsComponentFeatureCapability.properties.Name
- # - $.definitions.ApplicationInsightsComponentFeature.properties.SupportedAddonFeatures
- # - $.definitions.ApplicationInsightsComponentFeature.properties.IsMainFeature
- # - $.definitions.ApplicationInsightsComponentFeature.properties.Title
- # - $.definitions.ApplicationInsightsComponentFeature.properties.Capabilities
- # - $.definitions.ApplicationInsightsComponentFeature.properties.IsHidden
- # - $.definitions.ApplicationInsightsComponentFeature.properties.ResouceId
- # - $.definitions.ApplicationInsightsComponentFeature.properties.MeterRateFrequency
- # - $.definitions.ApplicationInsightsComponentFeature.properties.MeterId
- # - $.definitions.ApplicationInsightsComponentFeature.properties.FeatureName
- # - $.definitions.ApplicationInsightsComponentAvailableFeatures.properties.Result
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.ThrottleRate
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.DailyCapResetTime
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.DailyCap
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.TrackingType
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.ApiAccessLevel
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.SupportExportData
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.BurstThrottlePolicy
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.MetadataClass
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.LiveStreamMetrics
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.ApplicationMap
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.WorkItemIntegration
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.PowerBIIntegration
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.OpenSchema
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.ProactiveDetection
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.AnalyticsIntegration
- # - $.definitions.ApplicationInsightsComponentFeatureCapabilities.properties.MultipleStepWebTest
- # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Id
- # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Name
- # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Content
- # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Version
- # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Scope
- # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Type
- # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.TimeCreated
- # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.TimeModified
- # - $.definitions.ApplicationInsightsComponentAnalyticsItem.properties.Properties
-
+ reason: 'This api was existing there from 2015, it will break existing client if we change the name'
- suppress: R2066
reason: There are a bug in this rule. "ExportConfigurations_Create" is a valid operation id.
+ - suppress: OBJECT_ADDITIONAL_PROPERTIES
+ where: $.definitions.Workbook
+ from: workbooks_API.json
+ reason: 'This property is already a part of our API, so we cannot remove it'
+ - suppress: READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST
+ where: $.definitions.Resource.properties.name
+ from: types.json
+ reason: 'This property is already a part of our API, cannot remove it'
+ - suppress: READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST
+ where: $.definitions.Resource.properties.id
+ from: types.json
+ reason: 'This property is already a part of our API, cannot remove it'
+ - suppress: READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST
+ where: $.definitions.WorkbookResource.properties.id
+ from: workbooks_API.json
+ reason: 'This property is already a part of our API, cannot remove it'
+ - suppress: READONLY_PROPERTY_NOT_ALLOWED_IN_REQUEST
+ where: $.definitions.WorkbookResource.properties.name
+ from: workbooks_API.json
+ reason: 'This property is already a part of our API, cannot remove it'
+ - suppress: DefaultErrorResponseSchema
+ from: myworkbooks_API.json
+ reason: 'this error format is already part of the previous api, cannot change it'
+ - suppress: DeleteOperationResponses
+ from: myworkbooks_API.json
+ reason: 'delete API returns empty response and is already part of the previous api, cannot change it'
+```
+
+### Tag: package-preview-2020-06-only
+
+These settings apply only when `--tag=package-preview-2020-06-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2020-06-only'
+input-file:
+ - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
```
+### Tag: package-preview-2020-06
+
+These settings apply only when `--tag=package-preview-2020-06` is specified on the command line.
+
+``` yaml $(tag) == 'package-preview-2020-06'
+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/2015-05-01/workbooks_API.json
+ - Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
+ - Microsoft.Insights/preview/2018-05-01-preview/components_API.json
+ - Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
+ - Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
+```
### Tag: package-preview-2020-02
These settings apply only when `--tag=package-preview-2020-02` is specified on the command line.
-```yaml $(tag) == 'package-preview-2020-02'
+``` yaml $(tag) == 'package-preview-2020-02'
input-file:
- Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
```
+
### Tag: package-2015-05
These settings apply only when `--tag=package-2015-05` is specified on the command line.
@@ -266,6 +166,7 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/webTests_API.json
- Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
```
### Tag: package-2017-10
@@ -352,6 +253,7 @@ input-file:
- Microsoft.Insights/stable/2015-05-01/webTests_API.json
- Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+- Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
- Microsoft.Insights/preview/2018-05-01-preview/components_API.json
- Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
```
@@ -375,6 +277,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js applicationinsights/resource-manager
```
## Go
@@ -443,6 +348,10 @@ input-file:
- Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -455,30 +364,32 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- - $(this-folder)/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
+ - $(this-folder)/Microsoft.Insights/preview/2020-06-02-preview/livetoken_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/aiOperations_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentAnnotations_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentApiKeys_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentContinuousExport_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentFeaturesAndPricing_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentProactiveDetection_API.json
- - $(this-folder)/Microsoft.Insights/stable/2015-05-01/components_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/componentWorkItemConfigs_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/favorites_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/webTestLocations_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/webTests_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/analyticsItems_API.json
- $(this-folder)/Microsoft.Insights/stable/2015-05-01/workbooks_API.json
+ - $(this-folder)/Microsoft.Insights/stable/2015-05-01/myworkbooks_API.json
+ - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/components_API.json
+ - $(this-folder)/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
+ - $(this-folder)/Microsoft.Insights/preview/2020-02-10-preview/WebTestResults_API.json
+ - $(this-folder)/Microsoft.Insights/stable/2015-05-01/components_API.json
- $(this-folder)/Microsoft.Insights/preview/2017-10-01/eaSubscriptionMigration_API.json
- $(this-folder)/Microsoft.Insights/preview/2017-10-01/componentFeaturesAndPricing_API.json
- $(this-folder)/Microsoft.Insights/preview/2018-06-17-preview/workbooks_API.json
- $(this-folder)/Microsoft.Insights/preview/2019-10-17-preview/workbookTemplates_API.json
- $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/componentProactiveDetection_API.json
- - $(this-folder)/Microsoft.Insights/preview/2018-05-01-preview/components_API.json
- $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPackQueries_API.json
- $(this-folder)/Microsoft.Insights/preview/2019-09-01-preview/QueryPacks_API.json
- $(this-folder)/Microsoft.Insights/preview/2020-02-02-preview/components_API.json
- - $(this-folder)/Microsoft.Insights/preview/2020-03-01-preview/componentLinkedStorageAccounts_API.json
```
diff --git a/specification/applicationinsights/resource-manager/readme.python.md b/specification/applicationinsights/resource-manager/readme.python.md
index 97df9d6f8c3b..b7462eaaf2d0 100644
--- a/specification/applicationinsights/resource-manager/readme.python.md
+++ b/specification/applicationinsights/resource-manager/readme.python.md
@@ -25,6 +25,7 @@ batch:
- tag: package-2019-10-17-preview
- tag: package-2020-02-02-preview
- tag: package-2020-03-01-preview
+ - tag: package-preview-2020-06-only
```
### Tag: package-2015-05 and python
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
index 773e65c8d69f..f09b74a8b617 100644
--- 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
@@ -113,6 +113,9 @@
"x-ms-examples": {
"Services_CreateOrUpdate": {
"$ref": "./examples/Services_CreateOrUpdate.json"
+ },
+ "Services_CreateOrUpdate_VNetInjection": {
+ "$ref": "./examples/Services_CreateOrUpdate_VNetInjection.json"
}
}
},
@@ -2160,6 +2163,39 @@
}
}
},
+ "/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": [
@@ -2296,6 +2332,10 @@
"$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",
@@ -2416,6 +2456,47 @@
}
}
},
+ "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"
+ },
+ "appSubnetId": {
+ "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps",
+ "type": "string"
+ },
+ "serviceCidr": {
+ "description": "Azure Spring Cloud service reserved CIDR",
+ "type": "string"
+ },
+ "serviceRuntimeNetworkResourceGroup": {
+ "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime",
+ "type": "string"
+ },
+ "appNetworkResourceGroup": {
+ "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
+ "type": "string"
+ },
+ "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."
+ }
+ }
+ }
+ }
+ },
"Error": {
"description": "The error code compose of code and message.",
"type": "object",
@@ -2792,11 +2873,13 @@
"properties": {
"resourceName": {
"description": "The name of the bound resource",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"resourceType": {
"description": "The standard Azure resource type of the bound resource",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"resourceId": {
"description": "The Azure resource id of the bound resource",
@@ -3006,7 +3089,8 @@
},
"appName": {
"description": "The app name of domain.",
- "type": "string"
+ "type": "string",
+ "readOnly": true
},
"certName": {
"description": "The bound certificate name of domain.",
@@ -3155,6 +3239,7 @@
"description": "Type of the source uploaded",
"enum": [
"Jar",
+ "NetCoreZip",
"Source"
],
"type": "string",
@@ -3197,6 +3282,10 @@
"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)",
@@ -3214,7 +3303,8 @@
"description": "Runtime version",
"enum": [
"Java_8",
- "Java_11"
+ "Java_11",
+ "NetCore_31"
],
"type": "string",
"x-ms-enum": {
@@ -3247,6 +3337,11 @@
"description": "Discovery status of the deployment instance",
"type": "string",
"readOnly": true
+ },
+ "startTime": {
+ "description": "Start time of the deployment instance",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -3741,6 +3836,57 @@
}
},
"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": "SupportedRuntimeVersion",
+ "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": {
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
index e426c806b855..b989e5a57739 100644
--- 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
@@ -2,8 +2,6 @@
"parameters": {
"bindingResource": {
"properties": {
- "resourceName": "my-cosmosdb-1",
- "resourceType": "Microsoft.DocumentDB",
"resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.DocumentDB/databaseAccounts/my-cosmosdb-1",
"key": "xxxx",
"bindingParameters": {
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
index d2e0c8a715ea..0d7889bef1de 100644
--- 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
@@ -2,8 +2,6 @@
"parameters": {
"bindingResource": {
"properties": {
- "resourceName": null,
- "resourceType": null,
"key": "xxxx",
"bindingParameters": {
"databaseName": "db1",
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
index 213fb3296173..4d2893ff6ad2 100644
--- 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
@@ -3,7 +3,6 @@
"domainResource": {
"properties": {
"thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
- "appName": "myapp",
"certName": "mycert"
}
},
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
index 213fb3296173..4d2893ff6ad2 100644
--- 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
@@ -3,7 +3,6 @@
"domainResource": {
"properties": {
"thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
- "appName": "myapp",
"certName": "mycert"
}
},
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
index 0204c12e6e2b..c29a033df194 100644
--- 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
@@ -56,7 +56,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
@@ -92,7 +93,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
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/2019-05-01-preview/examples/Deployments_Get.json
index e574a0dea582..19cf2196418a 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/2019-05-01-preview/examples/Deployments_Get.json
@@ -35,7 +35,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
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/2019-05-01-preview/examples/Deployments_List.json
index 221113ccf649..287ffdd7381e 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/2019-05-01-preview/examples/Deployments_List.json
@@ -36,7 +36,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
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
index 221113ccf649..287ffdd7381e 100644
--- 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
@@ -36,7 +36,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
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/2019-05-01-preview/examples/Deployments_Update.json
index 4a778752688a..b0e5592ad49d 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/2019-05-01-preview/examples/Deployments_Update.json
@@ -46,7 +46,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
@@ -82,7 +83,8 @@
{
"name": "instance1",
"status": "Running",
- "discoveryStatus": "pending"
+ "discoveryStatus": "pending",
+ "startTime": "2020-08-26T01:55:02Z"
}
]
},
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/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json
new file mode 100644
index 000000000000..051d4085549f
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/RuntimeVersions_ListRuntimeVersions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2019-05-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "value": "Java_8",
+ "platform": "Java",
+ "version": "8"
+ },
+ {
+ "value": "Java_11",
+ "platform": "Java",
+ "version": "11"
+ },
+ {
+ "value": "NetCore_31",
+ "platform": ".NET Core",
+ "version": "3.1"
+ }
+ ]
+ }
+ }
+ }
+}
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
index 0b9eb4797dc1..136def1b9f26 100644
--- 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
@@ -19,8 +19,8 @@
}
},
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
@@ -54,12 +54,20 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
@@ -90,12 +98,20 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
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
new file mode 100644
index 000000000000..6df578357701
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_CreateOrUpdate_VNetInjection.json
@@ -0,0 +1,91 @@
+{
+ "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"
+ ]
+ }
+ },
+ "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"
+ ]
+ }
+ },
+ "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_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/preview/2019-05-01-preview/examples/Services_Get.json
index 0fd464fbf73c..7d8d1007219c 100644
--- 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
@@ -27,12 +27,20 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
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
index 60bff7e0b137..aff184407138 100644
--- 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
@@ -28,12 +28,20 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
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
index 1e7ffa74d93f..daeaac0d14a6 100644
--- 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
@@ -27,12 +27,20 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
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
index 6ff77da01f9b..fcf36b043ad1 100644
--- 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
@@ -19,8 +19,8 @@
}
},
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
@@ -54,12 +54,20 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
@@ -90,12 +98,20 @@
"enabled": true,
"appInsightInstrumentationKey": "00000000-0000-0000-0000-000000000000"
},
- "serviceId": "12345678abcd1234abcd12345678abcd"
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
},
"type": "Microsoft.AppPlatform/Spring",
"sku": {
- "name": "P0",
- "tier": "Premium"
+ "name": "S0",
+ "tier": "Standard"
},
"location": "eastus",
"tags": {
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
new file mode 100644
index 000000000000..655b3cbed58b
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
@@ -0,0 +1,4461 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-07-01",
+ "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"
+ }
+ },
+ "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": {
+ "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}/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}/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 a Location 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": {
+ "204": {
+ "description": "Success. The response indicates the resource doesn't exist."
+ },
+ "200": {
+ "description": "Success. The response indicates the resource is deleted."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "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}/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 a Location header to query the\r\noperation 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": {
+ "204": {
+ "description": "Success. The response indicates the resource doesn't exist."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "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-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}/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 a Location header to query the\r\noperation 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 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"
+ }
+ },
+ "201": {
+ "description": "Created. The response describes the new custom domain and contains a Location header to query the\r\noperation 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"
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "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_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."
+ },
+ "202": {
+ "description": "Accepted. The response indicates the delete operation is performed in the background."
+ },
+ "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": {
+ "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_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}/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"
+ }
+ }
+ }
+ }
+ },
+ "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
+ }
+ },
+ "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": {
+ "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",
+ "type": "string"
+ },
+ "tenantId": {
+ "description": "Tenant Id",
+ "type": "string"
+ }
+ }
+ },
+ "Sku": {
+ "description": "Sku of Azure Spring Cloud",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the Sku",
+ "type": "string"
+ },
+ "tier": {
+ "description": "Tier of the Sku",
+ "type": "string"
+ },
+ "capacity": {
+ "format": "int32",
+ "description": "Current capacity of the target resource",
+ "type": "integer"
+ }
+ }
+ },
+ "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",
+ "type": "boolean"
+ },
+ "appInsightsInstrumentationKey": {
+ "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"
+ },
+ "appSubnetId": {
+ "description": "Fully qualified resource Id of the subnet to host Azure Spring Cloud Apps",
+ "type": "string"
+ },
+ "serviceCidr": {
+ "description": "Azure Spring Cloud service reserved CIDR",
+ "type": "string"
+ },
+ "serviceRuntimeNetworkResourceGroup": {
+ "description": "Name of the resource group containing network resources of Azure Spring Cloud Service Runtime",
+ "type": "string"
+ },
+ "appNetworkResourceGroup": {
+ "description": "Name of the resource group containing network resources of Azure Spring Cloud Apps",
+ "type": "string"
+ },
+ "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."
+ }
+ }
+ }
+ }
+ },
+ "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"
+ ],
+ "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"
+ },
+ "httpsOnly": {
+ "description": "Indicate if only https is allowed.",
+ "type": "boolean"
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ ],
+ "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"
+ },
+ "environmentVariables": {
+ "description": "Collection of environment variables",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "runtimeVersion": {
+ "description": "Runtime version",
+ "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"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "description": "An error response from the service.",
+ "$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": "SupportedRuntimeVersion",
+ "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": [
+ "2020-07-01"
+ ]
+ },
+ "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/stable/2020-07-01/examples/Apps_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json
new file mode 100644
index 000000000000..00f59981c650
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_CreateOrUpdate.json
@@ -0,0 +1,119 @@
+{
+ "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": "2020-07-01",
+ "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"
+ }
+ },
+ "202": {
+ "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/stable/2020-07-01/examples/Apps_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json
new file mode 100644
index 000000000000..0bfc11e59bf0
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json
new file mode 100644
index 000000000000..7e1677db0f60
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Get.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json
new file mode 100644
index 000000000000..285d26814c78
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_GetResourceUploadUrl.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "relativePath": "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20190801-3ed9f4a2-986b-4bbd-b833-a42dccb2f777",
+ "uploadUrl": "https://springcloudstorageaccount.file.core.windows.net/bd172614181f42e2853f6fd90029cda8/e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855-20190801-3ed9f4a2-986b-4bbd-b833-a42dccb2f777?sv=2018-03-28&sr=f&sig=SampleSignature&se=2019-08-01T10%3A42%3A21Z&sp=w"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json
new file mode 100644
index 000000000000..68aa39ece302
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_List.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/Apps_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json
new file mode 100644
index 000000000000..fd3aeaa6e3da
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_Update.json
@@ -0,0 +1,93 @@
+{
+ "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": "2020-07-01",
+ "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": {
+ "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/stable/2020-07-01/examples/Apps_ValidateDomain.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json
new file mode 100644
index 000000000000..0a7ada238503
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Apps_ValidateDomain.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "validatePayload": {
+ "name": "mydomain.io"
+ },
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json
new file mode 100644
index 000000000000..30bb8b7d997a
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_CreateOrUpdate.json
@@ -0,0 +1,82 @@
+{
+ "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": "2020-07-01",
+ "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"
+ }
+ },
+ "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": "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"
+ }
+ },
+ "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": "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/stable/2020-07-01/examples/Bindings_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json
new file mode 100644
index 000000000000..e0b92880ff3e
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "bindingName": "mybinding"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
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
new file mode 100644
index 000000000000..b6e130ba0fd5
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/Bindings_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json
new file mode 100644
index 000000000000..9208dc0b71ce
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_List.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/Bindings_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json
new file mode 100644
index 000000000000..c212241e6ccb
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Bindings_Update.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "bindingResource": {
+ "properties": {
+ "key": "xxxx",
+ "bindingParameters": {
+ "databaseName": "db1",
+ "apiType": "SQL"
+ },
+ "generatedProperties": null,
+ "createdAt": null,
+ "updatedAt": null
+ }
+ },
+ "api-version": "2020-07-01",
+ "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"
+ }
+ },
+ "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": "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/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json
new file mode 100644
index 000000000000..ec952d2d82f0
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_CreateOrUpdate.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "certificateResource": {
+ "properties": {
+ "vaultUri": "https://myvault.vault.azure.net",
+ "keyVaultCertName": "mycert",
+ "certVersion": "08a219d06d874795a96db47e06fbb01e"
+ }
+ },
+ "api-version": "2020-07-01",
+ "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"
+ }
+ },
+ "201": {
+ "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"
+ }
+ },
+ "202": {
+ "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/stable/2020-07-01/examples/Certificates_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json
new file mode 100644
index 000000000000..e74094f64531
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "certificateName": "mycertificate"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json
new file mode 100644
index 000000000000..ce7f31491cad
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_Get.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/Certificates_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json
new file mode 100644
index 000000000000..35219afb6d4c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Certificates_List.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myService"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "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"
+ }
+ ],
+ "nextLink": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.AppPlatform/Spring/myservice/certificates?$page=2"
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json
new file mode 100644
index 000000000000..b88fa1b13577
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_Get.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json
new file mode 100644
index 000000000000..6e47a4170864
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePatch.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "configServerResource": {
+ "properties": {
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ }
+ },
+ "api-version": "2020-07-01",
+ "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": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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/stable/2020-07-01/examples/ConfigServers_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePut.json
new file mode 100644
index 000000000000..6e47a4170864
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/ConfigServers_UpdatePut.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "configServerResource": {
+ "properties": {
+ "configServer": {
+ "gitProperty": {
+ "uri": "https://github.com/fake-user/fake-repository.git",
+ "label": "master",
+ "searchPaths": [
+ "/"
+ ]
+ }
+ }
+ }
+ },
+ "api-version": "2020-07-01",
+ "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": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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": [
+ "/"
+ ]
+ }
+ }
+ },
+ "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/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json
new file mode 100644
index 000000000000..5857185150a6
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_CreateOrUpdate.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2020-07-01",
+ "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"
+ }
+ },
+ "201": {
+ "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"
+ }
+ },
+ "202": {
+ "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/stable/2020-07-01/examples/CustomDomains_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json
new file mode 100644
index 000000000000..673bdf1a9b61
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "domainName": "mydomain.com"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json
new file mode 100644
index 000000000000..3bb445de3742
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Get.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/CustomDomains_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json
new file mode 100644
index 000000000000..0bdbfc51f763
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/CustomDomains_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json
new file mode 100644
index 000000000000..a2b61973f8a2
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/CustomDomains_Update.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "domainResource": {
+ "properties": {
+ "thumbprint": "934367bf1c97033f877db0f15cb1b586957d3133",
+ "certName": "mycert"
+ }
+ },
+ "api-version": "2020-07-01",
+ "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"
+ }
+ },
+ "202": {
+ "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/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json
new file mode 100644
index 000000000000..786a5f55af53
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_CreateOrUpdate.json
@@ -0,0 +1,160 @@
+{
+ "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",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "instances": null
+ }
+ },
+ "sku": {
+ "name": "S0",
+ "tier": "Standard",
+ "capacity": 1
+ },
+ "api-version": "2020-07-01",
+ "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",
+ "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"
+ }
+ },
+ "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",
+ "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"
+ }
+ },
+ "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",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "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
+ },
+ "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/stable/2020-07-01/examples/Deployments_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json
new file mode 100644
index 000000000000..8bec5172fcf5
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Delete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json
new file mode 100644
index 000000000000..9a999a403ffc
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Get.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "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",
+ "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/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json
new file mode 100644
index 000000000000..13a30ad15e17
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_GetLogFileUrl.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "url": "https://spring.blob.core.windows.net/logs/110ec0c337154d45b1f01daf2196c0bf/b58b0cb4ecdea3c65311b4ca8833fe47b6ae0a7500f87a8eb31e8379d3fe48f1-2019081312-42b7b90c-f108-4c09-b33d-1ea134f57f23?sv=2018-03-28&sr=b&sig=example-signature&se=2019-08-14T09%3A43%3A52Z&sp=r"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json
new file mode 100644
index 000000000000..35ff6dcf1ee7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_List.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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",
+ "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/stable/2020-07-01/examples/Deployments_ListForCluster.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json
new file mode 100644
index 000000000000..35ff6dcf1ee7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_ListForCluster.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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",
+ "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/stable/2020-07-01/examples/Deployments_Restart.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json
new file mode 100644
index 000000000000..eec2736b8e66
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Restart.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..."
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json
new file mode 100644
index 000000000000..eec2736b8e66
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Start.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..."
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json
new file mode 100644
index 000000000000..eec2736b8e66
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Stop.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.AppPlatform/...pathToOperationResult..."
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json
new file mode 100644
index 000000000000..18c9f75950da
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Deployments_Update.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "deploymentResource": {
+ "properties": {
+ "source": {
+ "type": "Source",
+ "relativePath": "resources/a172cedcae47474b615c54d510a5d84a8dea3032e958587430b413538be3f333-2019082605-e3095339-1723-44b7-8b5e-31b1003978bc",
+ "version": "1.0",
+ "artifactSelector": "sub-module-1"
+ },
+ "instances": null
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice",
+ "appName": "myapp",
+ "deploymentName": "mydeployment"
+ },
+ "responses": {
+ "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",
+ "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"
+ }
+ },
+ "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",
+ "environmentVariables": {
+ "env": "test"
+ },
+ "runtimeVersion": "Java_8"
+ },
+ "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
+ },
+ "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/stable/2020-07-01/examples/MonitoringSettings_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json
new file mode 100644
index 000000000000..12cec1860a38
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_Get.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "provisioningState": "Succeeded",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ },
+ "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/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json
new file mode 100644
index 000000000000..5f431e420527
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePatch.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "monitoringSettingResource": {
+ "properties": {
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ },
+ "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"
+ },
+ "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/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json
new file mode 100644
index 000000000000..5f431e420527
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/MonitoringSettings_UpdatePut.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "monitoringSettingResource": {
+ "properties": {
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "traceEnabled": true,
+ "appInsightsInstrumentationKey": "00000000-0000-0000-0000-000000000000"
+ },
+ "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"
+ },
+ "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/stable/2020-07-01/examples/Operations_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json
new file mode 100644
index 000000000000..0789ea9adfe3
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Operations_List.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01"
+ },
+ "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/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json
new file mode 100644
index 000000000000..1023f932df8c
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/RuntimeVersions_ListRuntimeVersions.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "value": "Java_8",
+ "platform": "Java",
+ "version": "8"
+ },
+ {
+ "value": "Java_11",
+ "platform": "Java",
+ "version": "11"
+ },
+ {
+ "value": "NetCore_31",
+ "platform": ".NET Core",
+ "version": "3.1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json
new file mode 100644
index 000000000000..a82bdc11a5a7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "location": "eastus",
+ "availabilityParameters": {
+ "type": "Microsoft.AppPlatform/Spring",
+ "name": "myservice"
+ },
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/Services_CreateOrUpdate.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json
new file mode 100644
index 000000000000..6837e4ff3174
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate.json
@@ -0,0 +1,102 @@
+{
+ "parameters": {
+ "resource": {
+ "properties": {},
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ "api-version": "2020-07-01",
+ "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"
+ ]
+ }
+ }
+ },
+ "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"
+ ]
+ }
+ }
+ },
+ "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"
+ ]
+ }
+ }
+ },
+ "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/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json
new file mode 100644
index 000000000000..b5e932ff99b3
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_CreateOrUpdate_VNetInjection.json
@@ -0,0 +1,122 @@
+{
+ "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": "2020-07-01",
+ "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"
+ ]
+ }
+ },
+ "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"
+ ]
+ }
+ },
+ "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"
+ }
+ },
+ "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"
+ ]
+ }
+ },
+ "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/stable/2020-07-01/examples/Services_Delete.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json
new file mode 100644
index 000000000000..e1bb8539d801
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Delete.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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/stable/2020-07-01/examples/Services_DisableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json
new file mode 100644
index 000000000000..47002475fca4
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_DisableTestEndpoint.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json
new file mode 100644
index 000000000000..9836b1d2ae6f
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_EnableTestEndpoint.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "key1",
+ "secondaryKey": "key2",
+ "primaryTestEndpoint": "key1@TestEndpoint",
+ "secondaryTestEndpoint": "key2@TestEndpoint",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json
new file mode 100644
index 000000000000..0af48fc29a7b
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Get.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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"
+ ]
+ }
+ }
+ },
+ "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/stable/2020-07-01/examples/Services_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json
new file mode 100644
index 000000000000..0e6a9a8d02ed
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_List.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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"
+ ]
+ }
+ }
+ },
+ "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/stable/2020-07-01/examples/Services_ListBySubscription.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json
new file mode 100644
index 000000000000..c8bfadb985b7
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListBySubscription.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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"
+ ]
+ }
+ }
+ },
+ "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/stable/2020-07-01/examples/Services_ListTestKeys.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json
new file mode 100644
index 000000000000..9836b1d2ae6f
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_ListTestKeys.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "key1",
+ "secondaryKey": "key2",
+ "primaryTestEndpoint": "key1@TestEndpoint",
+ "secondaryTestEndpoint": "key2@TestEndpoint",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json
new file mode 100644
index 000000000000..36ce27ed48c3
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_RegenerateTestKey.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "regenerateTestKeyRequest": {
+ "keyType": "Primary"
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryKey": "key1",
+ "secondaryKey": "key2",
+ "primaryTestEndpoint": "key1@TestEndpoint",
+ "secondaryTestEndpoint": "key2@TestEndpoint",
+ "enabled": true
+ }
+ }
+ }
+}
diff --git a/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json
new file mode 100644
index 000000000000..0404e9a95e93
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Services_Update.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "resource": {
+ "properties": {},
+ "sku": {
+ "name": "S0",
+ "tier": "Standard"
+ },
+ "location": "eastus",
+ "tags": {
+ "key1": "value1"
+ }
+ },
+ "api-version": "2020-07-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "serviceName": "myservice"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "properties": {
+ "provisioningState": "Updating",
+ "serviceId": "12345678abcd1234abcd12345678abcd",
+ "networkProfile": {
+ "outboundIPs": {
+ "publicIPs": [
+ "20.39.3.173",
+ "40.64.67.13"
+ ]
+ }
+ }
+ },
+ "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"
+ ]
+ }
+ }
+ },
+ "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/stable/2020-07-01/examples/Skus_List.json b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json
new file mode 100644
index 000000000000..e5f7d5765289
--- /dev/null
+++ b/specification/appplatform/resource-manager/Microsoft.AppPlatform/stable/2020-07-01/examples/Skus_List.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "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/readme.azureresourceschema.md b/specification/appplatform/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..7c633bc07810
--- /dev/null
+++ b/specification/appplatform/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-appplatform-2020-07-01
+ - tag: schema-appplatform-2019-05-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-appplatform-2020-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-appplatform-2020-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
+
+```
+
+### Tag: schema-appplatform-2019-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-appplatform-2019-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
+
+```
diff --git a/specification/appplatform/resource-manager/readme.go.md b/specification/appplatform/resource-manager/readme.go.md
index 2406d387ba5f..3c5820e1c257 100644
--- a/specification/appplatform/resource-manager/readme.go.md
+++ b/specification/appplatform/resource-manager/readme.go.md
@@ -13,9 +13,19 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-2020-07 and go
+
+These settings apply only when `--tag=package-2020-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-07' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace)
+```
+
### Tag: package-2019-05-01-preview and go
These settings apply only when `--tag=package-2019-05-01-preview --go` is specified on the command line.
diff --git a/specification/appplatform/resource-manager/readme.java.md b/specification/appplatform/resource-manager/readme.java.md
index 789e47493698..1f6d7300efe1 100644
--- a/specification/appplatform/resource-manager/readme.java.md
+++ b/specification/appplatform/resource-manager/readme.java.md
@@ -16,9 +16,23 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-appplatform
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-2020-07 and java
+
+These settings apply only when `--tag=package-2020-07 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.appplatform.v2020_07_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2020_07_01
+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.
@@ -30,4 +44,4 @@ java:
output-folder: $(azure-libraries-for-java-folder)/sdk/appplatform/mgmt-v2019_05_01_preview
regenerate-manager: true
generate-interface: true
-```
\ No newline at end of file
+```
diff --git a/specification/appplatform/resource-manager/readme.md b/specification/appplatform/resource-manager/readme.md
index 2a1d933b2910..4a9a5a3d95e3 100644
--- a/specification/appplatform/resource-manager/readme.md
+++ b/specification/appplatform/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for AppPlatform.
-
-
---
+
## Getting Started
+
To build the SDK for AppPlatform, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,18 +15,18 @@ To build the SDK for AppPlatform, simply [Install AutoRest](https://aka.ms/autor
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the AppPlatform API.
``` yaml
openapi-type: arm
-tag: package-2019-05-01-preview
+tag: package-2020-07
```
### Suppression
@@ -41,8 +41,23 @@ directive:
from: appplatform.json
where: $.definitions.Dimension.properties.toBeExportedForShoebox
reason: The boolean properties 'toBeExportedForShoebox' is defined by Geneva metrics
+ - suppress: R3021
+ from: appplatform.json
+ reason: The resource type name 'Spring' is a trademark so cannot be changed to be camel-case
+ #where:
+ # - $.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-2020-07
+
+These settings apply only when `--tag=package-2020-07` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-07'
+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.
@@ -53,8 +68,8 @@ input-file:
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -64,6 +79,8 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-appplatform
- repo: azure-sdk-for-java
- repo: azure-sdk-for-net
- repo: azure-sdk-for-node
@@ -72,9 +89,11 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_appplatform']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js appplatform/resource-manager
```
-
## Go
See configuration in [readme.go.md](./readme.go.md)
@@ -98,6 +117,10 @@ csharp:
clear-output-folder: true
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -110,15 +133,15 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.AppPlatform/stable/2020-07-01/appplatform.json
- $(this-folder)/Microsoft.AppPlatform/preview/2019-05-01-preview/appplatform.json
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/appplatform/resource-manager/readme.python.md b/specification/appplatform/resource-manager/readme.python.md
index 5e8d38718850..ddb776efd495 100644
--- a/specification/appplatform/resource-manager/readme.python.md
+++ b/specification/appplatform/resource-manager/readme.python.md
@@ -10,18 +10,40 @@ python:
azure-arm: true
license-header: MICROSOFT_MIT_NO_VERSION
payload-flattening-threshold: 2
- namespace: azure.mgmt.appplatform
package-name: azure-mgmt-appplatform
- package-version: 0.2.0
clear-output-folder: true
+ no-namespace-folders: true
+```
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(python) && $(multiapi)
+batch:
+ - tag: package-2020-07
+ - tag: package-2019-05-01-preview
```
-``` yaml $(python) && $(python-mode) == 'update'
+
+### Tag: package-2020-07 and python
+
+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)
python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform
+ namespace: azure.mgmt.appplatform.v2020_07_01
+ output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform/azure/mgmt/appplatform/v2020_07_01
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+### 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)
python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/appplatform/azure-mgmt-appplatform
+ 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 827034b2477a..7a1b560cd736 100644
--- a/specification/appplatform/resource-manager/readme.ruby.md
+++ b/specification/appplatform/resource-manager/readme.ruby.md
@@ -12,9 +12,20 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2020-07
- tag: package-2019-05-01-preview
```
+### Tag: package-2020-07 and ruby
+
+These settings apply only when `--tag=package-2020-07 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-07' && $(ruby)
+namespace: "Azure::AppPlatform::Mgmt::V2020_07_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_appplatform/lib
+```
+
### Tag: package-2019-05-01-preview and ruby
These settings apply only when `--tag=package-2019-05-01-preview --ruby` is specified on the command line.
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
index 3813af740c8c..5e016060e568 100644
--- a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
@@ -341,6 +341,86 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Attestation/defaultProviders": {
+ "get": {
+ "tags": [
+ "AttestationProviders"
+ ],
+ "operationId": "AttestationProviders_ListDefault",
+ "description": "Get the default provider",
+ "x-ms-examples": {
+ "AttestationProviders_GetDefault": {
+ "$ref": "./examples/Get_DefaultProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved information about the default provider.",
+ "schema": {
+ "$ref": "#/definitions/AttestationProviderListResult"
+ }
+ },
+ "default": {
+ "description": "Attestation service error result",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Attestation/locations/{location}/defaultProvider": {
+ "get": {
+ "tags": [
+ "AttestationProviders"
+ ],
+ "operationId": "AttestationProviders_GetDefaultByLocation",
+ "description": "Get the default provider by location.",
+ "x-ms-examples": {
+ "AttestationProviders_GetDefaultWithLocation": {
+ "$ref": "./examples/Get_DefaultProviderByLocation.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The location of the default provider."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Retrieved information about the default provider.",
+ "schema": {
+ "$ref": "#/definitions/AttestationProvider"
+ }
+ },
+ "default": {
+ "description": "Attestation service error result",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -414,9 +494,6 @@
"StatusResult": {
"type": "object",
"description": "Status of attestation service.",
- "required": [
- "status"
- ],
"properties": {
"trustModel": {
"type": "string",
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviderByLocation.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviderByLocation.json
new file mode 100644
index 000000000000..b32bef265455
--- /dev/null
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviderByLocation.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "6c96b33e-f5b8-40a6-9011-5cb1c58b0915",
+ "api-version": "2018-09-01-preview",
+ "location": "Central US"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Attestation/attestationProviders/sharedcus",
+ "name": "sharedcus",
+ "type": "Microsoft.Attestation/attestationProviders",
+ "location": "Central US",
+ "properties": {
+ "trustModel": "AAD",
+ "status": "Ready",
+ "attestUri": "https://sharedcus.cus.attest.azure.net"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviders.json b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviders.json
new file mode 100644
index 000000000000..5d39d2b7e646
--- /dev/null
+++ b/specification/attestation/resource-manager/Microsoft.Attestation/preview/2018-09-01-preview/examples/Get_DefaultProviders.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "6c96b33e-f5b8-40a6-9011-5cb1c58b0915",
+ "api-version": "2018-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Attestation/attestationProviders/sharedcus",
+ "name": "sharedcus",
+ "type": "Microsoft.Attestation/attestationProviders",
+ "location": "Central US",
+ "properties": {
+ "trustModel": "AAD",
+ "status": "Ready",
+ "attestUri": "https://sharedcus.cus.attest.azure.net"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Attestation/attestationProviders/shareduks",
+ "name": "shareduks",
+ "type": "Microsoft.Attestation/attestationProviders",
+ "location": "UK South",
+ "properties": {
+ "trustModel": "AAD",
+ "status": "Ready",
+ "attestUri": "https://shareduks.uks.attest.azure.net"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/attestation/resource-manager/readme.azureresourceschema.md b/specification/attestation/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..990f22190468
--- /dev/null
+++ b/specification/attestation/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-attestation-2018-09-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-attestation-2018-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-attestation-2018-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Attestation/preview/2018-09-01-preview/attestation.json
+
+```
diff --git a/specification/attestation/resource-manager/readme.md b/specification/attestation/resource-manager/readme.md
index f6640479ed02..e2509e0c3c46 100644
--- a/specification/attestation/resource-manager/readme.md
+++ b/specification/attestation/resource-manager/readme.md
@@ -51,6 +51,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
- repo: azure-sdk-for-go
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js attestation/resource-manager
```
## Python
@@ -76,6 +79,13 @@ csharp:
See configuration in [readme.go.md](./readme.go.md)
+## Trenton
+
+See configuration in [readme.trenton.md](./readme.trenton.md)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
## Multi-API/Profile support for AutoRest v3 generators
diff --git a/specification/attestation/resource-manager/readme.trenton.md b/specification/attestation/resource-manager/readme.trenton.md
new file mode 100644
index 000000000000..3e0da01d7f39
--- /dev/null
+++ b/specification/attestation/resource-manager/readme.trenton.md
@@ -0,0 +1,21 @@
+
+## trenton
+
+These settings apply only when `--trenton` is specified on the command line.
+
+``` yaml $(trenton)
+trenton:
+ cli-name: attestation
+ package-name: attestation
+clear-output-folder: true
+output-folder: $(trenton-output-folder)/attestation
+overrides:
+ - where:
+ property: "x5C"
+ set:
+ - GoFieldName: X5c
+ - where:
+ property: "/creationParams/properties"
+ set:
+ - GoFieldName: Properties
+```
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
new file mode 100644
index 000000000000..478c98bc5686
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
@@ -0,0 +1,687 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "AuthorizationManagementClient",
+ "version": "2020-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": {
+ "/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/{resourceProviderNamespace}/{parentResourcePath}/{resourceType}/{resourceName}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForResource",
+ "description": "Gets role assignments for a resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceProviderNamespaceParameter"
+ },
+ {
+ "name": "parentResourcePath",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The parent resource identity.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The resource type of the resource.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource to get role assignments for."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentsForResource.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForResourceGroup",
+ "description": "Gets role assignments for a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentsForResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentName}": {
+ "delete": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Delete",
+ "description": "Deletes a role assignment.",
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role assignment to delete.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role assignment to delete."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/DeleteRoleAssignmentByName.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Create",
+ "description": "Creates a role assignment.",
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role assignment to create. The scope can be any REST resource instance. For example, use '/subscriptions/{subscription-id}/' for a subscription, '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}' for a resource group, and '/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/{resource-provider}/{resource-type}/{resource-name}' for a resource.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role assignment to create. It can be any valid GUID."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentCreateParameters"
+ },
+ "description": "Parameters for the role assignment."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created - Returns information about the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/PutRoleAssignment.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Get",
+ "description": "Get the specified role assignment.",
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role assignment.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "roleAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the role assignment to get."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentByName.json"
+ }
+ }
+ }
+ },
+ "/{roleId}": {
+ "delete": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_DeleteById",
+ "description": "Deletes a role assignment.",
+ "parameters": [
+ {
+ "name": "roleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the role assignment to delete.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns information about the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/DeleteRoleAssignmentById.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_CreateById",
+ "description": "Creates a role assignment by ID.",
+ "parameters": [
+ {
+ "name": "roleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the role assignment to create.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentCreateParameters"
+ },
+ "description": "Parameters for the role assignment."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created - Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/PutRoleAssignmentById.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_GetById",
+ "description": "Gets a role assignment by ID.",
+ "parameters": [
+ {
+ "name": "roleId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the role assignment to get.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns the role assignment.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignment"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentById.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_List",
+ "description": "Gets all role assignments for the subscription.",
+ "parameters": [
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetAllRoleAssignments.json"
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.Authorization/roleAssignments": {
+ "get": {
+ "tags": [
+ "RoleAssignments"
+ ],
+ "operationId": "RoleAssignments_ListForScope",
+ "description": "Gets role assignments for a scope.",
+ "parameters": [
+ {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope of the role assignments.",
+ "x-ms-skip-url-encoding": true
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation. Use $filter=atScope() to return all role assignments at or above the scope. Use $filter=principalId eq {id} to return all role assignments at, above or below the scope for the specified principal."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK - Returns an array of role assignments.",
+ "schema": {
+ "$ref": "#/definitions/RoleAssignmentListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/RoleAssignmentFilter",
+ "x-ms-examples": {
+ "GetConfigurations": {
+ "$ref": "./examples/GetRoleAssignmentByScope.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RoleAssignmentFilter": {
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "description": "Returns role assignment of the specific principal."
+ },
+ "canDelegate": {
+ "type": "boolean",
+ "description": "The Delegation flag for the role assignment"
+ }
+ },
+ "description": "Role Assignments filter"
+ },
+ "RoleAssignmentPropertiesWithScope": {
+ "properties": {
+ "scope": {
+ "type": "string",
+ "description": "The role assignment scope."
+ },
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The role definition ID."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The principal ID."
+ },
+ "principalType": {
+ "type": "string",
+ "description": "The principal type of the assigned principal ID.",
+ "enum": [
+ "User",
+ "Group",
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "canDelegate": {
+ "type": "boolean",
+ "description": "The Delegation flag for the role assignment"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of 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'"
+ }
+ },
+ "description": "Role assignment properties with scope."
+ },
+ "RoleAssignment": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment ID."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The role assignment type."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleAssignmentPropertiesWithScope",
+ "description": "Role assignment properties."
+ }
+ },
+ "description": "Role Assignments"
+ },
+ "RoleAssignmentListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RoleAssignment"
+ },
+ "description": "Role assignment list."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to use for getting the next set of results."
+ }
+ },
+ "description": "Role assignment list operation result."
+ },
+ "RoleAssignmentProperties": {
+ "properties": {
+ "roleDefinitionId": {
+ "type": "string",
+ "description": "The role definition ID used in the role assignment."
+ },
+ "principalId": {
+ "type": "string",
+ "description": "The principal ID assigned to the role. This maps to the ID inside the Active Directory. It can point to a user, service principal, or security group."
+ },
+ "principalType": {
+ "type": "string",
+ "description": "The principal type of the assigned principal ID.",
+ "enum": [
+ "User",
+ "Group",
+ "ServicePrincipal",
+ "Unknown",
+ "DirectoryRoleTemplate",
+ "ForeignGroup",
+ "Application",
+ "MSI",
+ "DirectoryObjectOrGroup",
+ "Everyone"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalType",
+ "modelAsString": true
+ }
+ },
+ "canDelegate": {
+ "type": "boolean",
+ "description": "The delegation flag used for creating a role assignment"
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of 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'"
+ }
+ },
+ "required": [
+ "roleDefinitionId",
+ "principalId"
+ ],
+ "description": "Role assignment properties."
+ },
+ "RoleAssignmentCreateParameters": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RoleAssignmentProperties",
+ "description": "Role assignment properties."
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "Role assignment create parameters."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The ID of the target subscription."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "The API version to use for this operation."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceProviderNamespaceParameter": {
+ "name": "resourceProviderNamespace",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The namespace of the resource provider.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentById.json
new file mode 100644
index 000000000000..79a4930d5d95
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentById.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleId": "roleAssignmentId",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentByName.json
new file mode 100644
index 000000000000..bf403661e286
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/DeleteRoleAssignmentByName.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleAssignmentName": "roleAssignmentName",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetAllRoleAssignments.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetAllRoleAssignments.json
new file mode 100644
index 000000000000..f2f280fce64a
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetAllRoleAssignments.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentById.json
new file mode 100644
index 000000000000..ecbaeb7de321
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentById.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "roleId": "roleassignmentId",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByName.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByName.json
new file mode 100644
index 000000000000..202df15a909d
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByName.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleAssignmentName": "roleAssignmentName",
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByScope.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByScope.json
new file mode 100644
index 000000000000..5fe6140ed25c
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentByScope.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResource.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResource.json
new file mode 100644
index 000000000000..350bd409baf2
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResource.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "resourceGroupName": "rgname",
+ "resourceProviderNamespace": "resourceProviderNamespace",
+ "parentResourcePath": "parentResourcePath",
+ "resourceType": "resourceType",
+ "resourceName": "resourceName",
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResourceGroup.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResourceGroup.json
new file mode 100644
index 000000000000..df3eb34a02cb
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/GetRoleAssignmentsForResourceGroup.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceGroupName": "rgname",
+ "subscriptionId": "subId",
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "raId"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json
new file mode 100644
index 000000000000..c87cfe4307e7
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignment.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleAssignmentName": "roleAssignmentName",
+ "parameters": {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772",
+ "principalId": "d93a38bc-d029-4160-bfb0-fbda779ac214",
+ "principalType": "User",
+ "canDelegate": false
+ }
+ },
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json
new file mode 100644
index 000000000000..965fb76e36b5
--- /dev/null
+++ b/specification/authorization/resource-manager/Microsoft.Authorization/preview/2020-04-01-preview/examples/PutRoleAssignmentById.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "scope": "scope",
+ "roleId": "roleAssignmentId",
+ "parameters": {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/4004a9fd-d58e-48dc-aeb2-4a4aec58606f/providers/Microsoft.Authorization/roleDefinitions/de139f84-1756-47ae-9be6-808fbbe84772",
+ "principalId": "d93a38bc-d029-4160-bfb0-fbda779ac214",
+ "principalType": "User",
+ "canDelegate": false
+ }
+ },
+ "api-version": "2020-04-01-preview"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "condition": "@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:ContainerName] StringEqualsIgnoreCase 'foo_storage_container'",
+ "conditionVersion": "1.0",
+ "description": "Grants UserFoo role assignment bar in scope baz",
+ "roleDefinitionId": "/subscriptions/subId/providers/Microsoft.Authorization/roleDefinitions/roledefinitionId",
+ "principalId": "Pid",
+ "principalType": "Ptype",
+ "scope": "/subscriptions/subId/resourcegroups/rgname",
+ "canDelegate": false
+ },
+ "id": "/subscriptions/subId/resourcegroups/rgname/providers/Microsoft.Authorization/roleAssignments/roleassignmentId",
+ "type": "Microsoft.Authorization/roleAssignments",
+ "name": "roleassignmentId"
+ }
+ }
+ }
+}
diff --git a/specification/authorization/resource-manager/readme.azureresourceschema.md b/specification/authorization/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..de63c8f3bf21
--- /dev/null
+++ b/specification/authorization/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,102 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-authorization-2020-04-01-preview
+ - tag: schema-authorization-2018-09-01-preview
+ - tag: schema-authorization-2018-07-01-preview
+ - tag: schema-authorization-2018-01-01-preview
+ - tag: schema-authorization-2017-10-01-preview
+ - tag: schema-authorization-2015-07-01
+ - tag: schema-authorization-2015-06-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-authorization-2020-04-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2020-04-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
+
+```
+
+### Tag: schema-authorization-2018-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2018-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2018-09-01-preview/authorization-RoleAssignmentsCalls.json
+
+```
+
+### Tag: schema-authorization-2018-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2018-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2018-07-01-preview/authorization-DenyAssignmentGetCalls.json
+
+```
+
+### Tag: schema-authorization-2018-01-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2018-01-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2018-01-01-preview/authorization-ProviderOperationsCalls.json
+ - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleAssignmentsCalls.json
+ - Microsoft.Authorization/preview/2018-01-01-preview/authorization-RoleDefinitionsCalls.json
+
+```
+
+### Tag: schema-authorization-2017-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2017-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2017-10-01-preview/authorization-RoleAssignmentsCalls.json
+
+```
+
+### Tag: schema-authorization-2015-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2015-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-RoleAssignmentsCalls.json
+ - Microsoft.Authorization/stable/2015-07-01/authorization-ClassicAdminCalls.json
+
+```
+
+### Tag: schema-authorization-2015-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-authorization-2015-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Authorization/preview/2015-06-01/authorization-ClassicAdminCalls.json
+
+```
diff --git a/specification/authorization/resource-manager/readme.md b/specification/authorization/resource-manager/readme.md
index 88cac5ab776c..dc05c9392f9c 100644
--- a/specification/authorization/resource-manager/readme.md
+++ b/specification/authorization/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Authorization.
-
-
---
+
## Getting Started
+
To build the SDK for Authorization, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,28 +15,67 @@ To build the SDK for Authorization, simply [Install AutoRest](https://aka.ms/aut
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the Authorization API.
``` yaml
openapi-type: arm
-tag: package-2018-09-01-preview
+tag: package-2020-04-01-preview-only
```
## Suppression
+
``` yaml
directive:
- suppress: OperationsAPIImplementation
reason: we do have a operations api as "/providers/Microsoft.Authorization/operations"
- #where:
- # - $.paths["/providers/Microsoft.Authorization/operations"]
+ - suppress: OperationIdNounConflictingModelNames
+ where: '$.paths["/providers/Microsoft.Authorization/providerOperations/{resourceProviderNamespace}"].get.operationId'
+ from: authorization-ProviderOperationsCalls.json
+ reason: the full operationId value is "ProviderOperationsMetadata_Get" the linter does not seem to be picking what's after the '_'
+ - suppress: OperationIdNounConflictingModelNames
+ where: '$.paths["/providers/Microsoft.Authorization/providerOperations"].get.operationId'
+ from: authorization-ProviderOperationsCalls.json
+ reason: the full operationId value is "ProviderOperationsMetadata_List" the linter does not seem to be picking what's after the '_'
+ - suppress: EnumInsteadOfBoolean
+ where: $.definitions.RoleAssignmentFilter.properties.canDelegate
+ from: authorization-RoleAssignmentsCalls.json
+ reason: for this case the result of the proposed change would resemble a boolean anyways
+ - suppress: EnumInsteadOfBoolean
+ where: $.definitions.RoleAssignmentPropertiesWithScope.properties.canDelegate
+ from: authorization-RoleAssignmentsCalls.json
+ reason: for this case the result of the proposed change would resemble a boolean anyways
+ - suppress: EnumInsteadOfBoolean
+ where: $.definitions.RoleAssignmentProperties.properties.canDelegate
+ from: authorization-RoleAssignmentsCalls.json
+ reason: for this case the result of the proposed change would resemble a boolean anyways
+ - suppress: EnumInsteadOfBoolean
+ where: $.definitions.ProviderOperation.properties.isDataAction
+ from: authorization-ProviderOperationsCalls.json
+ reason: for this case the result of the proposed change would resemble a boolean anyways
+ - suppress: EnumInsteadOfBoolean
+ where: $.definitions.DenyAssignmentProperties.properties.doNotApplyToChildScopes
+ from: authorization-DenyAssignmentGetCalls.json
+ reason: for this case the result of the proposed change would resemble a boolean anyways
+ - suppress: EnumInsteadOfBoolean
+ where: $.definitions.DenyAssignmentProperties.properties.isSystemProtected
+ from: authorization-DenyAssignmentGetCalls.json
+ reason: for this case the result of the proposed change would resemble a boolean anyways
+```
+### Tag: package-2020-04-01-preview-only
+
+These settings apply only when `--tag=package-2020-04-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-04-01-preview-only'
+input-file:
+- Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
```
### Tag: package-2015-07-01
@@ -167,8 +206,8 @@ input-file:
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -188,6 +227,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_authorization']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js authorization/resource-manager
```
## Go
@@ -198,7 +240,11 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -210,6 +256,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Authorization/preview/2020-04-01-preview/authorization-RoleAssignmentsCalls.json
- $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-RoleDefinitionsCalls.json
- $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ProviderOperationsCalls.json
- $(this-folder)/Microsoft.Authorization/stable/2015-07-01/authorization-ElevateAccessCalls.json
@@ -225,11 +272,10 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/authorization/resource-manager/readme.python.md b/specification/authorization/resource-manager/readme.python.md
index 70e14ea1a327..56c486beb56b 100644
--- a/specification/authorization/resource-manager/readme.python.md
+++ b/specification/authorization/resource-manager/readme.python.md
@@ -21,6 +21,7 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2020-04-01-preview-only
- tag: package-2018-09-01-preview-only
- tag: package-2018-07-01-preview-only
- tag: package-2018-01-01-preview-only
@@ -28,6 +29,16 @@ batch:
- tag: package-2015-06-01-preview
```
+### Tag: package-2020-04-01-preview-only and python
+
+These settings apply only when `--tag=package-2020-04-01-preview-only --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-04-01-preview-only' && $(python)
+python:
+ namespace: azure.mgmt.authorization.v2020_04_01_preview
+ output-folder: $(python-sdks-folder)/authorization/azure-mgmt-authorization/azure/mgmt/authorization/v2020_04_01_preview
+```
+
### Tag: package-2018-09-01-preview-only and python
These settings apply only when `--tag=package-2018-09-01-preview-only --python` is specified on the command line.
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json
new file mode 100644
index 000000000000..d82d8023bd7f
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/automanage.json
@@ -0,0 +1,1371 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-06-30-preview",
+ "title": "Automanage"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts/{accountName}": {
+ "put": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_CreateOrUpdate",
+ "description": "Creates an Automanage Account",
+ "x-ms-examples": {
+ "Create or update Automanage account": {
+ "$ref": "./examples/createOrUpdateAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Automanage account."
+ },
+ {
+ "$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/Account"
+ },
+ "description": "Parameters supplied to create or update Automanage account."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The Automanage account was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "200": {
+ "description": "OK. The Automanage account was updated successfully.",
+ "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": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Get",
+ "description": "Get information about a Automanage account",
+ "x-ms-examples": {
+ "Get an Automanage account": {
+ "$ref": "./examples/getAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The Automanage account name."
+ },
+ {
+ "$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. The Automanage account was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/Account"
+ }
+ },
+ "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"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Delete",
+ "description": "Delete a Automanage account",
+ "x-ms-examples": {
+ "Delete an Automanage account": {
+ "$ref": "./examples/deleteAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Automanage account"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "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": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_Update",
+ "description": "Updates an Automanage Account",
+ "x-ms-examples": {
+ "Update Automanage account": {
+ "$ref": "./examples/updateAccount.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "accountName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Automanage account."
+ },
+ {
+ "$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/AccountUpdate"
+ },
+ "description": "Parameters supplied to update Automanage account."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The Automanage account was updated successfully.",
+ "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": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_ListByResourceGroup",
+ "description": "Retrieve a list of Automanage accounts within a given resource group",
+ "x-ms-examples": {
+ "List Automanage accounts by resource group": {
+ "$ref": "./examples/listAccountsByResourceGroup.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": "OK. List of Automanage accounts.",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "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/accounts": {
+ "get": {
+ "tags": [
+ "Accounts"
+ ],
+ "operationId": "Accounts_ListBySubscription",
+ "description": "Retrieve a list of Automanage accounts within a subscription",
+ "x-ms-examples": {
+ "List Automanage accounts by subscription": {
+ "$ref": "./examples/listAccountsBySubscription.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": "OK. List of Automanage accounts.",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.Automanage/configurationProfileAssignments/{configurationProfileAssignmentName}": {
+ "put": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_CreateOrUpdate",
+ "description": "Creates an association between a VM and Automanage configuration profile",
+ "x-ms-examples": {
+ "Create or update configuration profile assignment": {
+ "$ref": "./examples/createOrUpdateConfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile assignment. Only default is supported."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ },
+ "description": "Parameters supplied to the create or update configuration profile assignment."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The Automanage configuration profile assignment for the VM was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ }
+ },
+ "200": {
+ "description": "OK. The configuration profile assignment for the VM was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ }
+ },
+ "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,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_Get",
+ "description": "Get information about a configuration profile assignment",
+ "x-ms-examples": {
+ "Get a configuration profile assignment": {
+ "$ref": "./examples/getConfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile assignment name."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile assignment was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ }
+ },
+ "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"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_Delete",
+ "description": "Delete a configuration profile assignment",
+ "x-ms-examples": {
+ "Delete an configuration profile assignment": {
+ "$ref": "./examples/deleteConfigurationProfileAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfileAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile assignment"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "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": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfileAssignments": {
+ "get": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_List",
+ "description": "Get list of configuration profile assignments",
+ "x-ms-examples": {
+ "Get a configuration profile assignment": {
+ "$ref": "./examples/listConfigurationProfileAssignments.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": "OK. The list of configuration profile assignments were returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignmentList"
+ }
+ },
+ "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/configurationProfileAssignments": {
+ "get": {
+ "tags": [
+ "ConfigurationProfileAssignments"
+ ],
+ "operationId": "ConfigurationProfileAssignments_ListBySubscription",
+ "description": "Get list of configuration profile assignments under a given subscription",
+ "x-ms-examples": {
+ "List configuration profile assignments": {
+ "$ref": "./examples/listConfigurationProfileAssignmentsBySubscription.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": "OK. The list of configuration profile assignments were returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfileAssignmentList"
+ }
+ },
+ "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}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences/{configurationProfilePreferenceName}": {
+ "put": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_CreateOrUpdate",
+ "description": "Creates a configuration profile preference",
+ "x-ms-examples": {
+ "Create or update configuration profile preference": {
+ "$ref": "./examples/createOrUpdateConfigurationProfilePreference.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfilePreferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile preference."
+ },
+ {
+ "$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/ConfigurationProfilePreference"
+ },
+ "description": "Parameters supplied to create or update configuration profile preference."
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The configuration profile preference was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ }
+ },
+ "200": {
+ "description": "OK. The configuration profile preference was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ }
+ },
+ "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": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_Get",
+ "description": "Get information about a configuration profile preference",
+ "x-ms-examples": {
+ "Get a configuration profile": {
+ "$ref": "./examples/getConfigurationProfilePreference.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfilePreferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The configuration profile preference name."
+ },
+ {
+ "$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. The configuration profile preference was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ }
+ },
+ "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"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_Delete",
+ "description": "Delete a configuration profile preference",
+ "x-ms-examples": {
+ "Delete a configuration profile preference": {
+ "$ref": "./examples/deleteConfigurationProfilePreference.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "configurationProfilePreferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile preference"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "OK"
+ },
+ "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": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_Update",
+ "description": "Updates a configuration profile preference",
+ "x-ms-examples": {
+ "Create or update configuration profile preference": {
+ "$ref": "./examples/updateConfigurationProfilePreference.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "configurationProfilePreferenceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the configuration profile preference."
+ },
+ {
+ "$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/ConfigurationProfilePreferenceUpdate"
+ },
+ "description": "Parameters supplied to create or update configuration profile preference."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The configuration profile preference was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ }
+ },
+ "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": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Automanage/configurationProfilePreferences": {
+ "get": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_ListByResourceGroup",
+ "description": "Retrieve a list of configuration profile preferences within a given resource group",
+ "x-ms-examples": {
+ "List configuration profile preferences by resource group": {
+ "$ref": "./examples/listConfigurationProfilePreferencesByResourceGroup.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": "OK. List of configuration profile preferences.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreferenceList"
+ }
+ },
+ "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/configurationProfilePreferences": {
+ "get": {
+ "tags": [
+ "ConfigurationProfilePreferences"
+ ],
+ "operationId": "ConfigurationProfilePreferences_ListBySubscription",
+ "description": "Retrieve a list of configuration profile preferences within a subscription",
+ "x-ms-examples": {
+ "List configuration profile preferences by subscription": {
+ "$ref": "./examples/listConfigurationProfilePreferencesBySubscription.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": "OK. List of configuration profile preferences.",
+ "schema": {
+ "$ref": "#/definitions/ConfigurationProfilePreferenceList"
+ }
+ },
+ "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"
+ ]
+ }
+ },
+ "/providers/Microsoft.Automanage/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available Automanage REST API operations.",
+ "x-ms-examples": {
+ "Lists all of the available Automanage REST API operations": {
+ "$ref": "./examples/listOperations.json"
+ }
+ },
+ "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 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"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "Account": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/AccountIdentity",
+ "description": "The identity of the Automanage account."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Definition of the Automanage account."
+ },
+ "AccountUpdate": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/AccountIdentity",
+ "description": "The identity of the Automanage account."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Definition of the Automanage account."
+ },
+ "AccountIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of Automanage account identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the Automanage account."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the Automanage account. Currently, the only supported type is 'SystemAssigned', which implicitly creates an identity.",
+ "enum": [
+ "SystemAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Identity for the Automanage account."
+ },
+ "AccountList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Account"
+ },
+ "description": "Result of the list Account operation."
+ }
+ },
+ "description": "The response of the list Account operation."
+ },
+ "ConfigurationProfileAssignmentList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationProfileAssignment"
+ },
+ "description": "Result of the list configuration profile assignment operation."
+ }
+ },
+ "description": "The response of the list configuration profile assignment operation."
+ },
+ "ConfigurationProfileAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ConfigurationProfileAssignmentProperties",
+ "description": "Properties of the configuration profile assignment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Configuration profile assignment is an association between a VM and automanage profile configuration."
+ },
+ "ConfigurationProfileAssignmentProperties": {
+ "properties": {
+ "configurationProfile": {
+ "type": "string",
+ "description": "A value indicating configuration profile.",
+ "x-ms-enum": {
+ "name": "configurationProfile",
+ "modelAsString": true
+ },
+ "enum": [
+ "Azure virtual machine best practices – Dev/Test",
+ "Azure virtual machine best practices – Production"
+ ]
+ },
+ "targetId": {
+ "type": "string",
+ "description": "The target VM resource URI"
+ },
+ "accountId": {
+ "type": "string",
+ "description": "The Automanage account ARM Resource URI"
+ },
+ "configurationProfilePreferenceId": {
+ "type": "string",
+ "x-nullable": true,
+ "description": "The configuration profile custom preferences ARM resource URI"
+ },
+ "provisioningStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of onboarding, which only appears in the response.",
+ "x-ms-enum": {
+ "name": "provisioningStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Created"
+ ]
+ },
+ "compliance": {
+ "$ref": "#/definitions/ConfigurationProfileAssignmentCompliance",
+ "description": "The configuration setting for the configuration profile."
+ }
+ },
+ "description": "Automanage configuration profile assignment properties."
+ },
+ "ConfigurationProfileAssignmentCompliance": {
+ "properties": {
+ "updateStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of compliance, which only appears in the response.",
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "updateStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Created"
+ ]
+ }
+ },
+ "description": "The compliance status for the configuration profile assignment."
+ },
+ "ConfigurationProfilePreference": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ConfigurationProfilePreferenceProperties",
+ "description": "Properties of the configuration profile preference."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Definition of the configuration profile preference."
+ },
+ "ConfigurationProfilePreferenceUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/ConfigurationProfilePreferenceProperties",
+ "description": "Properties of the configuration profile preference."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Definition of the configuration profile preference."
+ },
+ "ConfigurationProfilePreferenceProperties": {
+ "properties": {
+ "vmBackup": {
+ "$ref": "#/definitions/ConfigurationProfilePreferenceVmBackup",
+ "description": "The custom preferences for Azure VM Backup."
+ },
+ "antiMalware": {
+ "$ref": "#/definitions/ConfigurationProfilePreferenceAntiMalware",
+ "description": "The custom preferences for Azure Antimalware."
+ }
+ },
+ "description": "Automanage configuration profile preference properties."
+ },
+ "ConfigurationProfilePreferenceVmBackup": {
+ "properties": {
+ "timeZone": {
+ "type": "string",
+ "description": "TimeZone optional input as string. For example: Pacific Standard Time",
+ "x-nullable": true
+ },
+ "instantRpRetentionRangeInDays": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Instant RP retention policy range in days"
+ },
+ "retentionPolicy": {
+ "type": "string",
+ "description": "Retention policy with the details on backup copy retention ranges.",
+ "x-nullable": true
+ },
+ "schedulePolicy": {
+ "type": "string",
+ "description": "Backup schedule specified as part of backup policy.",
+ "x-nullable": true
+ }
+ },
+ "description": "Automanage configuration profile VM Backup preferences."
+ },
+ "ConfigurationProfilePreferenceAntiMalware": {
+ "properties": {
+ "enableRealTimeProtection": {
+ "type": "string",
+ "description": "Enables or disables Real Time Protection",
+ "x-ms-enum": {
+ "name": "enableRealTimeProtection",
+ "modelAsString": true
+ },
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-nullable": true
+ },
+ "exclusions": {
+ "type": "object",
+ "description": "Extensions, Paths and Processes that must be excluded from scan",
+ "x-nullable": true
+ },
+ "runScheduledScan": {
+ "type": "string",
+ "description": "Enables or disables a periodic scan for antimalware",
+ "x-ms-enum": {
+ "name": "runScheduledScan",
+ "modelAsString": true
+ },
+ "enum": [
+ "True",
+ "False"
+ ],
+ "x-nullable": true
+ },
+ "scanType": {
+ "type": "string",
+ "description": "Type of scheduled scan",
+ "x-ms-enum": {
+ "name": "scanType",
+ "modelAsString": true
+ },
+ "enum": [
+ "Quick",
+ "Full"
+ ],
+ "x-nullable": true
+ },
+ "scanDay": {
+ "type": "string",
+ "description": "Schedule scan settings day",
+ "x-nullable": true
+ },
+ "scanTimeInMinutes": {
+ "type": "string",
+ "description": "Schedule scan settings time",
+ "x-nullable": true
+ }
+ },
+ "description": "Automanage configuration profile Antimalware preferences."
+ },
+ "ConfigurationProfilePreferenceList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationProfilePreference"
+ },
+ "description": "Result of the list ConfigurationProfilePreference operation."
+ }
+ },
+ "description": "The response of the list ConfigurationProfilePreference operation."
+ },
+ "Operation": {
+ "description": "Automanage REST API operation",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: For ex. providers/Microsoft.Automanage/configurationProfileAssignments/write or read",
+ "type": "string"
+ },
+ "isDataAction": {
+ "description": "Indicates whether the operation is a data action",
+ "type": "string"
+ },
+ "display": {
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.Automanage",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: For ex. ",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description about operation.",
+ "type": "string"
+ }
+ },
+ "description": "Provider, Resource, Operation and description values."
+ },
+ "properties": {
+ "properties": {
+ "statusCode": {
+ "description": "Service provider: Microsoft.Automanage",
+ "type": "string"
+ }
+ },
+ "x-ms-client-flatten": true,
+ "description": "Provider, Resource, Operation and description values."
+ }
+ }
+ },
+ "OperationList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of Automanage operations supported by the Automanage resource provider."
+ }
+ },
+ "description": "The response model for the list of Automanage operations"
+ },
+ "UpdateResource": {
+ "description": "Represents an update resource",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags of the resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "VmNameParameter": {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json
new file mode 100644
index 000000000000..5924745ee5a0
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateAccount.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroup",
+ "api-version": "2020-06-30-preview",
+ "accountName": "account",
+ "parameters": {
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "name": "account",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "account",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json
new file mode 100644
index 000000000000..e481e11c5b6e
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfileAssignment.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2020-06-30-preview",
+ "parameters": {
+ "properties": {
+ "configurationProfile": "Azure Best Practices - Prod",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/AutomanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/AutomanageAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines",
+ "configurationProfile": "Azure Best Practices - Prod",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/AutomanageAccounts/AutomanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Created"
+ },
+ "provisioningStatus": "Created"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/AutomanageAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines",
+ "configurationProfile": "Azure Best Practices - Prod",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/AutomanageAccounts/AutomanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningStatus": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json
new file mode 100644
index 000000000000..845e5c65ab72
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/createOrUpdateConfigurationProfilePreference.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfilePreferenceName": "defaultProfilePreference",
+ "api-version": "2020-06-30-preview",
+ "parameters": {
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "name": "defaultProfilePreference",
+ "type": "Microsoft.Automanage/configurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "name": "defaultProfilePreference",
+ "type": "Microsoft.Automanage/configurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json
new file mode 100644
index 000000000000..61e21fb2d14f
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "accountName": "automanageAccount",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json
new file mode 100644
index 000000000000..68b206134c71
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfileAssignment.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json
new file mode 100644
index 000000000000..7dd4fa94ccd8
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/deleteConfigurationProfilePreference.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "configurationProfilePreferenceName": "defaultProfilePreference",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json
new file mode 100644
index 000000000000..161bf418c5b1
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getAccount.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "accountName": "automanageAccount",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "automanageAccount",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json
new file mode 100644
index 000000000000..e0f622172f59
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfileAssignment.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "configurationProfileAssignmentName": "default",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines",
+ "configurationProfile": "Azure Best Practices - Prod",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningStatus": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json
new file mode 100644
index 000000000000..0bc637534924
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/getConfigurationProfilePreference.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfilePreferenceName": "defaultProfilePreference",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "name": "defaultProfile",
+ "type": "Microsoft.Automanage/ConfigurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json
new file mode 100644
index 000000000000..a566a1b6b69b
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsByResourceGroup.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "name": "automanageAccount1",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount1",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "properties": {
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ {
+ "name": "automanageAccount2",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount2",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "properties": {
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json
new file mode 100644
index 000000000000..80109d475b76
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listAccountsBySubscription.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "name": "automanageAccount1",
+ "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Automanage/accounts/automanageAccount1",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ },
+ {
+ "name": "automanageAccount2",
+ "id": "/subscriptions/subid/resourceGroups/rg2/providers/Microsoft.Automanage/accounts/automanageAccount2",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json
new file mode 100644
index 000000000000..4a5703b7f0ff
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignments.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "configurationProfile": "Azure Best Practices - Prod",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningStatus": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "type": "Microsoft.Automanage/ConfigurationProfileAssignments",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2",
+ "configurationProfile": "Azure Best Practices - Prod",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningStatus": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json
new file mode 100644
index 000000000000..f9b259b3cf6c
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfileAssignmentsBySubscription.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "vmName": "myVMName",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ [
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "configurationProfile": "Azure Best Practices - Prod",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningStatus": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/mySubscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2/providers/Microsoft.Automanage/configurationProfileAssignments/default",
+ "name": "default",
+ "properties": {
+ "targetId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm2",
+ "configurationProfile": "Azure Best Practices - Prod",
+ "accountId": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/automanageAccount",
+ "configurationProfilePreferenceId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "compliance": {
+ "updateStatus": "Succeeded"
+ },
+ "provisioningStatus": "Succeeded"
+ }
+ }
+ ]
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json
new file mode 100644
index 000000000000..2907215f8756
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference1",
+ "name": "defaultProfilePreference1",
+ "type": "Microsoft.Automanage/ConfigurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference2",
+ "name": "defaultProfilePreference2",
+ "type": "Microsoft.Automanage/ConfigurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json
new file mode 100644
index 000000000000..2d9d70165376
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listConfigurationProfilePreferencesBySubscription.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/defaultProfile1",
+ "name": "defaultProfile1",
+ "type": "Microsoft.Automanage/configurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configurationProfileType": "Azure Best Practices - Prod",
+ "preferences": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfiles/defaultProfile2",
+ "name": "defaultProfile2",
+ "type": "Microsoft.Automanage/configurationProfiles",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "configurationProfileType": "Azure Best Practices - TestDev",
+ "preferences": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "False"
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json
new file mode 100644
index 000000000000..8dc4d3b633ca
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/listOperations.json
@@ -0,0 +1,80 @@
+{
+ "parameters": {
+ "api-version": "2020-06-30-preview"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Automanage/configurationProfileAssignments/write",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfileAssignments",
+ "operation": "Microsoft.Automanage/configurationProfileAssignments/write",
+ "description": "Create new configuration profile assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfileAssignments/read",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfileAssignments",
+ "operation": "Microsoft.Automanage/configurationProfileAssignments/read",
+ "description": "Get configuration profile assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/accounts/write",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/accounts",
+ "operation": "Microsoft.Automanage/accounts/write",
+ "description": "Create new Automanage Account."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/accounts/read",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/accounts",
+ "operation": "Microsoft.Automanage/accounts/read",
+ "description": "Get Automanage Account."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfilePreferences/write",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfilePreferences",
+ "operation": "Microsoft.Automanage/configurationProfilePreferences/write",
+ "description": "Create new Automanage Configuration Profile Preference."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.Automanage/configurationProfilePreferences/read",
+ "isDataAction": "false",
+ "display": {
+ "provider": "Microsoft Automanage",
+ "resource": "Microsoft.Automanage/configurationProfilePreferences",
+ "operation": "Microsoft.Automanage/configurationProfilePreferences/read",
+ "description": "Get Automanage Configuration Profile Preference."
+ },
+ "properties": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json
new file mode 100644
index 000000000000..74a8f9fcc48a
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateAccount.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "resourceGroup",
+ "api-version": "2020-06-30-preview",
+ "accountName": "account",
+ "parameters": {
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "account",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Automanage/accounts/account",
+ "type": "Microsoft.Automanage/accounts",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "identity": {
+ "principalId": "principalId",
+ "tenantId": "tenantId",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json
new file mode 100644
index 000000000000..cfd4c01306c7
--- /dev/null
+++ b/specification/automanage/resource-manager/Microsoft.Automanage/preview/2020-06-30-preview/examples/updateConfigurationProfilePreference.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "configurationProfilePreferenceName": "defaultProfilePreference",
+ "api-version": "2020-06-30-preview",
+ "parameters": {
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Automanage/configurationProfilePreferences/defaultProfilePreference",
+ "name": "defaultProfilePreference",
+ "type": "Microsoft.Automanage/configurationProfilePreferences",
+ "location": "East US",
+ "tags": {
+ "Organization": "Administration"
+ },
+ "properties": {
+ "vmBackup": {
+ "timeZone": "Pacific Standard Time"
+ },
+ "antiMalware": {
+ "enableRealTimeProtection": "True"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/automanage/resource-manager/readme.az.md b/specification/automanage/resource-manager/readme.az.md
new file mode 100644
index 000000000000..6b796af97d11
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.az.md
@@ -0,0 +1,12 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az)
+az:
+ extensions: automanage
+ namespace: azure.mgmt.automanage
+ package-name: azure-mgmt-automanage
+az-output-folder: $(azure-cli-extension-folder)/src/automanage
+python-sdk-output-folder: "$(az-output-folder)/azext_automanage/vendored_sdks/automanage"
+```
\ No newline at end of file
diff --git a/specification/automanage/resource-manager/readme.azureresourceschema.md b/specification/automanage/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..4a51ecd85b66
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-automanage-2020-06-30-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-automanage-2020-06-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-automanage-2020-06-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automanage/preview/2020-06-30-preview/automanage.json
+
+```
diff --git a/specification/automanage/resource-manager/readme.cli.md b/specification/automanage/resource-manager/readme.cli.md
new file mode 100644
index 000000000000..e17b8f756ff1
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.cli.md
@@ -0,0 +1,24 @@
+## CLI
+
+These settings don't need to apply `--cli` on the command line.
+
+``` yaml
+cli:
+ cli-name: automanage
+ package-name: azure-mgmt-automanage
+ namespace: azure.mgmt.automanage
+ test-scenario:
+ - name: Create or update an Automanage account
+ - name: Create or update configuration profile assignment
+ - name: Create or update configuration profile preference
+ - name: Delete an Automanage account
+ - name: Delete a configuration profile assignment
+ - name: Delete a configuration profile preference
+ - name: Get an Automanage account
+ - name: Get a configuration profile assignment
+ - name: Get a configuration profile preference
+ - name: Lists Automanage account
+ - name: Lists configuration profile assignment
+ - name: Lists configuration profile preference
+ - name: Operations
+```
\ No newline at end of file
diff --git a/specification/automanage/resource-manager/readme.go.md b/specification/automanage/resource-manager/readme.go.md
new file mode 100644
index 000000000000..16cdc4f4805e
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: automanage
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-06-30-preview
+```
+
+### Tag: package-2020-06-30-preview and go
+
+These settings apply only when `--tag=package-2020-06-30-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-30-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-06-30-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/automanage/resource-manager/readme.md b/specification/automanage/resource-manager/readme.md
new file mode 100644
index 000000000000..c6f1780bd6da
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.md
@@ -0,0 +1,109 @@
+# Automanage
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Automanage.
+
+---
+
+## Getting Started
+
+To build the SDK for Automanage, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+
+---
+
+### Basic Information
+
+These are the global settings for the Automanage API.
+
+``` yaml
+title: AutomanageClient
+description: Automanage Client
+openapi-type: arm
+tag: package-2020-06-30-preview
+```
+
+### Tag: package-2020-06-30-preview
+
+These settings apply only when `--tag=package-2020-06-30-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-30-preview'
+input-file:
+- Microsoft.Automanage/preview/2020-06-30-preview/automanage.json
+```
+
+## Suppression
+
+``` yaml
+directive:
+ - suppress: UniqueResourcePaths
+ from: automanage.json
+ where: $.paths
+ reason: 'Microsoft.Automanage is a proxy resource provider under Microsoft. Please refer PR https://github.com/Azure/azure-rest-api-specs-pr/pull/1283'
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-python-track2
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_automanage']
+```
+
+## 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.Automanage
+ output-folder: $(csharp-sdks-folder)/automanage/Microsoft.Azure.Management.Automanage/src/Generated
+ clear-output-folder: true
+```
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.Automanage/preview/2020-06-30-preview/automanage.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/automanage/resource-manager/readme.python.md b/specification/automanage/resource-manager/readme.python.md
new file mode 100644
index 000000000000..66953bf45ec5
--- /dev/null
+++ b/specification/automanage/resource-manager/readme.python.md
@@ -0,0 +1,42 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python) && !$(track2)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.automanage
+ package-name: azure-mgmt-automanage
+ package-version: 0.1.0
+ clear-output-folder: true
+```
+
+```yaml $(python) && $(track2)
+azure-arm: true
+license-header: MICROSOFT_MIT_NO_VERSION
+package-name: azure-mgmt-automanage
+package-version: 0.1.0-preview
+clear-output-folder: true
+no-namespace-folders: true
+```
+
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage/azure/mgmt/automanage
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage/azure/mgmt/automanage
+```
+
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/automanage/azure-mgmt-automanage
+```
diff --git a/specification/automanage/resource-manager/readme.typescript.md b/specification/automanage/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..d856dfb1f954
--- /dev/null
+++ b/specification/automanage/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-automanage"
+ output-folder: "$(typescript-sdks-folder)/sdk/automanage/arm-automanage"
+ clear-output-folder: true
+ generate-metadata: true
+```
diff --git a/specification/automation/resource-manager/readme.azureresourceschema.md b/specification/automation/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b70f177b4995
--- /dev/null
+++ b/specification/automation/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,101 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-automation-2020-01-13-preview
+ - tag: schema-automation-2018-06-30
+ - tag: schema-automation-2018-01-15
+ - tag: schema-automation-2017-05-15-preview
+ - tag: schema-automation-2015-10-31
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-automation-2020-01-13-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2020-01-13-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/preview/2020-01-13-preview/privateEndpointConnection.json
+ - Microsoft.Automation/preview/2020-01-13-preview/privateLinkResources.json
+
+```
+
+### Tag: schema-automation-2018-06-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2018-06-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/stable/2018-06-30/runbook.json
+ - Microsoft.Automation/stable/2018-06-30/python2package.json
+
+```
+
+### Tag: schema-automation-2018-01-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2018-01-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/stable/2018-01-15/dscNode.json
+ - Microsoft.Automation/stable/2018-01-15/dscCompilationJob.json
+ - Microsoft.Automation/stable/2018-01-15/dscNodeConfiguration.json
+ - Microsoft.Automation/stable/2018-01-15/dscNodeCounts.json
+
+```
+
+### Tag: schema-automation-2017-05-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2017-05-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfiguration.json
+ - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationRun.json
+ - Microsoft.Automation/preview/2017-05-15-preview/softwareUpdateConfigurationMachineRun.json
+ - Microsoft.Automation/preview/2017-05-15-preview/sourceControl.json
+ - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJob.json
+ - Microsoft.Automation/preview/2017-05-15-preview/sourceControlSyncJobStreams.json
+ - Microsoft.Automation/preview/2017-05-15-preview/job.json
+
+```
+
+### Tag: schema-automation-2015-10-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-automation-2015-10-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Automation/stable/2015-10-31/account.json
+ - Microsoft.Automation/stable/2015-10-31/certificate.json
+ - Microsoft.Automation/stable/2015-10-31/connection.json
+ - Microsoft.Automation/stable/2015-10-31/connectionType.json
+ - Microsoft.Automation/stable/2015-10-31/credential.json
+ - Microsoft.Automation/stable/2015-10-31/dscCompilationJob.json
+ - Microsoft.Automation/stable/2015-10-31/dscConfiguration.json
+ - Microsoft.Automation/stable/2015-10-31/dscNode.json
+ - Microsoft.Automation/stable/2015-10-31/dscNodeConfiguration.json
+ - Microsoft.Automation/stable/2015-10-31/hybridRunbookWorkerGroup.json
+ - Microsoft.Automation/stable/2015-10-31/job.json
+ - Microsoft.Automation/stable/2015-10-31/jobSchedule.json
+ - Microsoft.Automation/stable/2015-10-31/linkedWorkspace.json
+ - Microsoft.Automation/stable/2015-10-31/module.json
+ - Microsoft.Automation/stable/2015-10-31/runbook.json
+ - Microsoft.Automation/stable/2015-10-31/schedule.json
+ - Microsoft.Automation/stable/2015-10-31/variable.json
+ - Microsoft.Automation/stable/2015-10-31/webhook.json
+ - Microsoft.Automation/stable/2015-10-31/watcher.json
+
+```
diff --git a/specification/automation/resource-manager/readme.md b/specification/automation/resource-manager/readme.md
index e3416d6946aa..1232c3a3c9d8 100644
--- a/specification/automation/resource-manager/readme.md
+++ b/specification/automation/resource-manager/readme.md
@@ -238,6 +238,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_automation']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js automation/resource-manager
```
@@ -299,6 +302,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
index e3ddfb5dadba..933404e75268 100644
--- a/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
+++ b/specification/azsadmin/resource-manager/compute/Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
@@ -224,6 +224,10 @@
"description": "Target virtual machine operating system type necessary for deploying the extension handler.",
"$ref": "PlatformImages.json#/definitions/OsType"
},
+ "publisher": {
+ "description": "The publisher of the VM Extension",
+ "type": "string"
+ },
"computeRole": {
"description": "Compute role",
"type": "string"
diff --git a/specification/azsadmin/resource-manager/compute/readme.azsautogen.md b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
new file mode 100644
index 000000000000..7376b5eb69c3
--- /dev/null
+++ b/specification/azsadmin/resource-manager/compute/readme.azsautogen.md
@@ -0,0 +1,13 @@
+# AutoRest v3 generators
+
+> see https://aka.ms/autorest
+
+``` yaml
+input-file:
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
+ - Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
+ - Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
+ - Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+```
diff --git a/specification/azsadmin/resource-manager/compute/readme.md b/specification/azsadmin/resource-manager/compute/readme.md
index 26cb9b4ef55a..6e2d95dd3738 100644
--- a/specification/azsadmin/resource-manager/compute/readme.md
+++ b/specification/azsadmin/resource-manager/compute/readme.md
@@ -56,6 +56,20 @@ csharp:
clear-output-folder: true
```
+# AutoRest v3 generators
+
+> see https://aka.ms/autorest
+
+``` yaml
+input-file:
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/Compute.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/PlatformImages.json
+ - Microsoft.Compute.Admin/preview/2018-02-09/Quotas.json
+ - Microsoft.Compute.Admin/preview/2015-12-01-preview/VMExtensions.json
+ - Microsoft.Compute.Admin/preview/2018-07-30-preview/Disks.json
+ - Microsoft.Compute.Admin/preview/2018-07-30-preview/DiskMigrationJobs.json
+```
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/Deployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/Deployment.json
new file mode 100644
index 000000000000..4d71f0cb71c7
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/Deployment.json
@@ -0,0 +1,236 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-07-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Deployment.Admin/operations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the list of supported REST operations.": {
+ "$ref": "./examples/Operations/List.json"
+ }
+ },
+ "description": "Returns the list of supported REST operations.",
+ "tags": [
+ "Deployment"
+ ],
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "Object model of azure resource manager base.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "description": "ID of the resource.",
+ "type": "string"
+ },
+ "name": {
+ "readOnly": true,
+ "description": "Name of the resource.",
+ "type": "string"
+ },
+ "type": {
+ "readOnly": true,
+ "description": "Type of Resource.",
+ "type": "string"
+ },
+ "location": {
+ "description": "Location of the resource.",
+ "type": "string"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ExtendedErrorInfo": {
+ "type": "object",
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "type": "object",
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "JTokenString": {
+ "description": "Error information",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Parameters as JToken string",
+ "type": "string"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Describes the supported REST operation.",
+ "properties": {
+ "name": {
+ "description": "The name of the operation being performed on this particular object. This name should match the name that appears in RBAC or the event service.",
+ "type": "string"
+ },
+ "display": {
+ "description": "Contains the localized display information for this particular operation or action.",
+ "$ref": "#/definitions/Display"
+ },
+ "origin": {
+ "description": "Origin for the operation. Eg. User, System",
+ "type": "string"
+ }
+ }
+ },
+ "Display": {
+ "description": "Contains the localized display information for this particular operation or action.",
+ "properties": {
+ "provider": {
+ "description": "The localized, friendly version of the resource provider name. The provider name is expected to include the name of the publisher or company responsible. The provider name format should use title case and begin with \"Microsoft\" for first-party services. For example, the provider name may be\"Microsoft Monitoring Insights\" or \"Microsoft Compute.\"",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The localized, friendly version of the resource type related to this action or operation; the resource type should match the public documentation for the resource provider.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The localized, friendly name for the operation. Use the name as it will displayed to the user.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The localized, friendly description for the operation. The description will be displayed to the user. It should be thorough and concise for used in both tooltips and detailed views.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationList": {
+ "description": "List of Operations",
+ "properties": {
+ "value": {
+ "description": "Array of operations",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URI to the next page of operations.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Subscription credentials that uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "required": true,
+ "type": "string"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "Client API Version.",
+ "required": true,
+ "type": "string",
+ "default": "2018-07-01"
+ },
+ "LocationParameter": {
+ "description": "Location of the resource.",
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "default": "2018-07-01"
+ },
+ "ProductIdParameter": {
+ "name": "productId",
+ "in": "path",
+ "description": "The product identifier.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PackageIdParameter": {
+ "name": "packageId",
+ "in": "path",
+ "description": "The package identifier.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json
new file mode 100644
index 000000000000..deb9b2f4ff18
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json
@@ -0,0 +1,341 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-07-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/fileContainers": {
+ "get": {
+ "x-ms-examples": {
+ "Return file containers list.": {
+ "$ref": "./examples/FileContainer/List.json"
+ }
+ },
+ "description": "Returns an array of file containers.",
+ "tags": [
+ "FileContainers"
+ ],
+ "operationId": "FileContainers_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FileContainersList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/{fileContainerId}": {
+ "get": {
+ "x-ms-examples": {
+ "Return the file container details.": {
+ "$ref": "./examples/FileContainer/Get.json"
+ }
+ },
+ "description": "Retrieves the specific file container details.",
+ "tags": [
+ "FileContainers"
+ ],
+ "operationId": "FileContainers_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FileContainerIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FileContainer"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates a new file container.": {
+ "$ref": "./examples/FileContainer/Create.json"
+ }
+ },
+ "description": "Creates a new file container.",
+ "tags": [
+ "FileContainers"
+ ],
+ "operationId": "FileContainers_Create",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FileContainerParameters"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/FileContainerIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/FileContainer"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Deletes specified file container.": {
+ "$ref": "examples/FileContainer/Delete.json"
+ }
+ },
+ "tags": [
+ "FileContainers"
+ ],
+ "summary": "Deletes specified file container.",
+ "description": "Delete an existing file container.",
+ "operationId": "FileContainers_Delete",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/FileContainerIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "FileContainer": {
+ "type": "object",
+ "description": "File container entity.",
+ "properties": {
+ "properties": {
+ "description": "File Container properties",
+ "$ref": "#/definitions/FileContainerAdminProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "FileContainerAdminProperties": {
+ "description": "File Container Properties.",
+ "type": "object",
+ "properties": {
+ "fileContainerId": {
+ "description": "File container resource identifier containing product manifest.",
+ "$ref": "#/definitions/FileContainerId"
+ },
+ "sourceUri": {
+ "description": "The remote file location. This is write-only property, DRP never returns it back to a user.",
+ "$ref": "#/definitions/SourceUri"
+ },
+ "uri": {
+ "description": "The file or container Uri. This is read-only property; a user cannot set it.",
+ "type": "string"
+ },
+ "postCopyAction": {
+ "description": "Specifies the file post copy action.",
+ "$ref": "#/definitions/PostCopyAction"
+ },
+ "error": {
+ "description": "The error response message.",
+ "$ref": "#/definitions/ErrorInfo"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "FileContainersList": {
+ "description": "List of file containers.",
+ "properties": {
+ "value": {
+ "description": "List of file containers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FileContainer"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation token.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorInfo": {
+ "description": "Extended Error Information.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string"
+ },
+ "details": {
+ "description": "The detailed error messages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInfo"
+ }
+ }
+ }
+ },
+ "PostCopyAction": {
+ "description": "Specifies the file post copy action.",
+ "type": "string",
+ "enum": [
+ "None",
+ "Unzip"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PostCopyAction"
+ }
+ },
+ "SourceUri": {
+ "description": "Specifies The remote file location.",
+ "type": "string"
+ },
+ "FileContainerId": {
+ "description": "File container resource identifier containing product manifest.",
+ "type": "string"
+ },
+ "FileContainerParameters": {
+ "description": "Parameters for creating a new file container.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Specifies the file container body",
+ "$ref": "#/definitions/FileContainerBody"
+ }
+ }
+ },
+ "FileContainerBody": {
+ "description": "Body for creating a new file container.",
+ "type": "object",
+ "properties": {
+ "postCopyAction": {
+ "description": "Specifies the file post copy action.",
+ "$ref": "#/definitions/PostCopyAction"
+ },
+ "sourceUri": {
+ "description": "Specifies The remote file location.",
+ "$ref": "#/definitions/SourceUri"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "FileContainerIdParameter": {
+ "description": "The file container identifier.",
+ "name": "fileContainerId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "FileContainerParameters": {
+ "description": "The parameters required to create a new file container.",
+ "name": "fileContainerParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/FileContainerParameters"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json
new file mode 100644
index 000000000000..1434a2709d3c
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json
@@ -0,0 +1,355 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-07-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.Deployment.Admin/operations": {
+ "get": {
+ "x-ms-examples": {
+ "Returns the list of supported REST operations.": {
+ "$ref": "./examples/Operations/List.json"
+ }
+ },
+ "description": "Returns the list of supported REST operations.",
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/OperationList"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages": {
+ "get": {
+ "x-ms-examples": {
+ "Return product packages list.": {
+ "$ref": "./examples/ProductPackage/List.json"
+ }
+ },
+ "description": "Returns an array of product packages.",
+ "tags": [
+ "ProductPackages"
+ ],
+ "operationId": "ProductPackages_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductPackagesList"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}": {
+ "get": {
+ "x-ms-examples": {
+ "Return the product package details.": {
+ "$ref": "./examples/ProductPackage/Get.json"
+ }
+ },
+ "description": "Retrieves the specific product package details.",
+ "tags": [
+ "ProductPackages"
+ ],
+ "operationId": "ProductPackages_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductPackage"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ }
+ },
+ "put": {
+ "x-ms-examples": {
+ "Creates a new product package.": {
+ "$ref": "./examples/ProductPackage/Create.json"
+ }
+ },
+ "description": "Creates a new product package.",
+ "tags": [
+ "ProductPackages"
+ ],
+ "operationId": "ProductPackages_Create",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductPackageParameters"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProductPackage"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "x-ms-examples": {
+ "Removes a product package.": {
+ "$ref": "./examples/ProductPackage/Delete.json"
+ }
+ },
+ "description": "Deletes a product package.",
+ "tags": [
+ "ProductPackages"
+ ],
+ "operationId": "ProductPackages_Delete",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ }
+ },
+ "definitions": {
+ "ProductPackage": {
+ "description": "Properties for a product package.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Properties of a product package.",
+ "$ref": "#/definitions/ProductPackageProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "ProductPackagesList": {
+ "description": "List of product packages.",
+ "properties": {
+ "value": {
+ "description": "List of product packages.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductPackage"
+ }
+ },
+ "nextLink": {
+ "description": "Continuation Token.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductPackageProperties": {
+ "type": "object",
+ "description": "Properties for Product package.",
+ "properties": {
+ "fileContainerId": {
+ "description": "File container resource identifier containing product manifest.",
+ "$ref": "#/definitions/FileContainerId"
+ },
+ "isDeployable": {
+ "description": "Value indicating whether the package is applicable for deployment.",
+ "type": "boolean"
+ },
+ "isUpdatable": {
+ "description": "Value indicating whether the package is applicable for update.",
+ "type": "boolean"
+ },
+ "productDeploymentId": {
+ "description": "The identifier of product deployment; null if this version is not installed.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "type": "string"
+ }
+ }
+ },
+ "FileContainerId": {
+ "description": "File container resource identifier containing product manifest.",
+ "type": "string"
+ },
+ "ProductProperties": {
+ "description": "Additional properties of the product",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The version of the product",
+ "type": "string"
+ }
+ }
+ },
+ "ProductLink": {
+ "description": "Link to a product.",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "Displayed name of product.",
+ "type": "string"
+ },
+ "uri": {
+ "description": "URI to product.",
+ "type": "string"
+ }
+ }
+ },
+ "ProductLinks": {
+ "description": "List of product links.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProductLink"
+ }
+ },
+ "ProductPackageParameters": {
+ "description": "Parameters for creating a new product package.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Specifies the product package",
+ "$ref": "#/definitions/ProductPackageBody"
+ }
+ }
+ },
+ "ProductPackageBody": {
+ "description": "Body for creating a new product package.",
+ "type": "object",
+ "properties": {
+ "fileContainerId": {
+ "description": "Specifies the file container.",
+ "$ref": "#/definitions/FileContainerId"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ProductPackageParameters": {
+ "description": "The parameters required to create a new product package.",
+ "name": "ProductPackageParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProductPackageParameters"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Create.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Create.json
new file mode 100644
index 000000000000..43bbdc5c5942
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Create.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2018-07-01",
+ "fileContainerId": "Microsoft.NullProvider.1.1",
+ "fileContainerParameters": {
+ "properties": {
+ "sourceUri": "https://deploymentproviderbvts.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/temp/Microsoft.NullProvider.1.1.zip",
+ "postCopyAction": "Unzip"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/fileContainers",
+ "location": "global",
+ "properties": {
+ "postCopyAction": "Unzip",
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Delete.json
new file mode 100644
index 000000000000..fb79b908e537
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2018-07-01",
+ "fileContainerId": "Microsoft.NullProvider.1.1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Get.json
new file mode 100644
index 000000000000..b10ce0aa7c22
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2018-07-01",
+ "fileContainerId": "Microsoft.NullProvider.1.1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/fileContainers",
+ "location": "global",
+ "properties": {
+ "postCopyAction": "Unzip",
+ "uri": "https://deploymentrp.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/msdpfilecontainer-cb72641657134ed79ffeb632a58a671e/",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/List.json
new file mode 100644
index 000000000000..8c80323e8199
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/FileContainer/List.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2018-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/fileContainers/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/fileContainers",
+ "location": "global",
+ "properties": {
+ "postCopyAction": "Unzip",
+ "uri": "https://deploymentrp.blob.redmond.ext-n22r1708.masd.stbtest.microsoft.com/msdpfilecontainer-cb72641657134ed79ffeb632a58a671e/",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/Operations/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/Operations/List.json
new file mode 100644
index 000000000000..0f8927a3d630
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/Operations/List.json
@@ -0,0 +1,159 @@
+{
+ "parameters": {
+ "api-version": "2018-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Deployment.Admin/locations/fileContainers/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "File Container",
+ "operation": "List/Get File Container(s)",
+ "description": "Returns the list of file containers or gets properties for the specified file container."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/fileContainers/write",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "File Container",
+ "operation": "Create/Update File Container",
+ "description": "Creates or updates a file container."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/fileContainers/delete",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "File Container",
+ "operation": "Delete File Container",
+ "description": "Deletes an existing file container."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/operationresults/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Operation Result",
+ "operation": "Poll Asynchronous Operation",
+ "description": "Polls the status of an asynchronous operation."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/Operations/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Operation",
+ "operation": "List Supported Operations",
+ "description": "Returns the list of supported operations."
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "List/Get Product Deployment(s)",
+ "description": "Returns the list of product deployments or gets properties for the specified product deployment."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/bootstrap/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "Execute Bootstrap Deployment Phase",
+ "description": "Executes 'bootstrap' deployment phase."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/deploy/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "Execute Provision Deployment Phase",
+ "description": "Executes 'provision' deployment phase."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/remove/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "Remove Installed Product",
+ "description": "Removes installed product."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/setexternalaccess/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Deployment",
+ "operation": "Set External Access",
+ "description": "Enables or disables operator's access to product subscription."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/secrets/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Secret",
+ "operation": "List/Get Secret(s)",
+ "description": "Returns the list of secrets or gets properties for the specified secret."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/secrets/import/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Secret",
+ "operation": "Import Secret Value",
+ "description": "Imports a new secret value."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productDeployments/secrets/validateImport/action",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Secret",
+ "operation": "Validate Import",
+ "description": "Validates input for the import action."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productPackages/read",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Package",
+ "operation": "List/Get Product Package(s)",
+ "description": "Returns the list of product packages or gets properties for the specified product package."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productPackages/write",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Package",
+ "operation": "Create/Update Product Package",
+ "description": "Creates or updates a product package."
+ }
+ },
+ {
+ "name": "Microsoft.Deployment.Admin/locations/productPackages/delete",
+ "display": {
+ "provider": "Microsoft Deployment Provider",
+ "resource": "Product Package",
+ "operation": "Delete Product Package",
+ "description": "Deletes an existing product package."
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Create.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Create.json
new file mode 100644
index 000000000000..0a762d6b6146
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Create.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2018-07-01",
+ "packageId": "Microsoft.NullProvider.1.1",
+ "ProductPackageParameters": {
+ "properties": {
+ "fileContainerId": "Microsoft.NullProvider.1.1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages",
+ "properties": {
+ "fileContainerId": "Microsoft.NullProvider.1.1",
+ "isDeployable": true,
+ "isUpdatable": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Delete.json
new file mode 100644
index 000000000000..76aaf0a95a96
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2018-07-01",
+ "packageId": "Microsoft.NullProvider.1.1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Get.json
new file mode 100644
index 000000000000..7055b9e4b4a2
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2018-07-01",
+ "packageId": "Microsoft.NullProvider.1.1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages",
+ "properties": {
+ "fileContainerId": "Microsoft.NullProvider.1.1",
+ "isDeployable": true,
+ "isUpdatable": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/List.json
new file mode 100644
index 000000000000..c8e773cca19d
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2018-07-01/examples/ProductPackage/List.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
+ "location": "global",
+ "api-version": "2018-07-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/be8b2e19-7f92-4644-b808-a18283aebb01/providers/Microsoft.Deployment.Admin/locations/global/productPackages/Microsoft.NullProvider.1.1",
+ "name": "global/Microsoft.NullProvider.1.1",
+ "type": "Microsoft.Deployment.Admin/locations/productPackages",
+ "properties": {
+ "fileContainerId": "Microsoft.NullProvider.1.1",
+ "isDeployable": true,
+ "isUpdatable": true,
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
index f374728e2b99..fb687b4690f2 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
@@ -42,6 +42,12 @@
"schema": {
"$ref": "#/definitions/ActionPlanList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-pageable": {
@@ -79,8 +85,11 @@
"$ref": "#/definitions/ActionPlanResourceEntity"
}
},
- "404": {
- "description": "NOT FOUND"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
index 574331ae41c9..f88251943ac5 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
@@ -45,6 +45,12 @@
"schema": {
"$ref": "#/definitions/ActionPlanOperationsList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-pageable": {
@@ -85,8 +91,11 @@
"$ref": "#/definitions/ActionPlanOperationResourceEntity"
}
},
- "404": {
- "description": "NOT FOUND"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json
new file mode 100644
index 000000000000..3e588278ebbc
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json
@@ -0,0 +1,139 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/{location}/actionplans/{planId}/operations/{operationId}/attempts": {
+ "get": {
+ "x-ms-examples": {
+ "Gets the information about Action Plan operation attempts.": {
+ "$ref": "./examples/ActionPlanOperationAttempt/Get.json"
+ }
+ },
+ "description": "Returns the information about action plan operation attempt.",
+ "tags": [
+ "ActionPlanOperationAttempt"
+ ],
+ "operationId": "ActionPlanOperationAttempt_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/PlanIdParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationAttemptResult"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationAttemptResult": {
+ "description": "Result of an Operation Attempt.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Result of an Operation Attempt.",
+ "$ref": "#/definitions/OperationAttemptProperties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "OperationAttemptProperties": {
+ "type": "object",
+ "description": "Operation Attempt Properties.",
+ "properties": {
+ "startTime": {
+ "description": "The deployment start time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The deployment end time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the resource.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "PlanIdParameter": {
+ "description": "Identifier of the action plan.",
+ "name": "planId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "description": "Identifier of the action plan operation.",
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
index 9dc085092803..3f662c28d526 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
@@ -75,20 +75,36 @@
"x-ms-azure-resource": true
},
"ExtendedErrorInfo": {
- "description": "Error information",
"type": "object",
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "type": "object",
+ "description": "Error definition.",
"properties": {
"code": {
- "description": "Error Code",
- "type": "string"
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
},
"message": {
- "description": "Error Message",
- "type": "string"
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
},
"details": {
- "description": "Error message details",
- "$ref": "#/definitions/ExtendedErrorInfo"
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
}
}
},
@@ -189,6 +205,14 @@
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
+ },
+ "PackageIdParameter": {
+ "name": "packageId",
+ "in": "path",
+ "description": "The package identifier.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
}
},
"securityDefinitions": {
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 a8885fc7244d..5b823a4c7110 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
@@ -79,8 +79,11 @@
"$ref": "#/definitions/FileContainer"
}
},
- "404": {
- "description": "Not Found"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
}
},
@@ -155,8 +158,14 @@
"200": {
"description": "OK"
},
- "404": {
- "description": "Not found"
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
}
}
@@ -269,6 +278,16 @@
"FileContainerParameters": {
"description": "Parameters for creating a new file container.",
"type": "object",
+ "properties": {
+ "properties": {
+ "description": "Specifies the file container body",
+ "$ref": "#/definitions/FileContainerBody"
+ }
+ }
+ },
+ "FileContainerBody": {
+ "description": "Body for creating a new file container.",
+ "type": "object",
"properties": {
"postCopyAction": {
"description": "Specifies the file post copy action.",
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json
new file mode 100644
index 000000000000..039a230e26ef
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json
@@ -0,0 +1,163 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global": {
+ "get": {
+ "x-ms-examples": {
+ "Gets the location": {
+ "$ref": "./examples/Locations/Get.json"
+ }
+ },
+ "description": "Gets the location",
+ "tags": [
+ "Locations"
+ ],
+ "operationId": "Locations_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LocationsResourceEntity"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations": {
+ "get": {
+ "x-ms-examples": {
+ "Gets the list of locations": {
+ "$ref": "./examples/Locations/List.json"
+ }
+ },
+ "description": "Gets the list of locations",
+ "tags": [
+ "Locations"
+ ],
+ "operationId": "Locations_List",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LocationList"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "LocationList": {
+ "description": "List of locations",
+ "properties": {
+ "value": {
+ "description": "Array of locations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LocationsResourceEntity"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Continuation token"
+ }
+ }
+ },
+ "LocationsResourceEntity": {
+ "type": "object",
+ "description": "Location Resource Entity",
+ "properties": {
+ "properties": {
+ "description": "Location Properties",
+ "$ref": "#/definitions/LocationAdminProperties",
+ "x-ms-client-flatten": true
+ },
+ "eTag": {
+ "description": "Entity tag of the resource",
+ "type": "string"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "Deployment.json#/definitions/Resource"
+ }
+ ]
+ },
+ "LocationAdminProperties": {
+ "description": "Location Admin Properties",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "the location name",
+ "title": "location",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {},
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json
new file mode 100644
index 000000000000..1e8f1dffb547
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json
@@ -0,0 +1,150 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-01-01",
+ "title": "DeploymentAdminClient",
+ "description": "Deployment Admin Client."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/{location}/operationresults/{operationResultId}": {
+ "get": {
+ "x-ms-examples": {
+ "Get the operation details.": {
+ "$ref": "./examples/OperationResults/Get.json"
+ }
+ },
+ "description": "Retrieves the specific operation results.",
+ "tags": [
+ "OperationResults"
+ ],
+ "operationId": "OperationResults_Get",
+ "parameters": [
+ {
+ "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "Deployment.json#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/OperationResultIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationResult"
+ }
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "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 deployment start time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "endTime": {
+ "description": "The deployment end time",
+ "type": "string",
+ "format": "date-time"
+ },
+ "percentComplete": {
+ "type": "number",
+ "format": "double",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "Percentage completed."
+ }
+ }
+ },
+ "Status": {
+ "description": "Specifies the state of the Operation result.",
+ "type": "string",
+ "enum": [
+ "Bootstrapping",
+ "Creating",
+ "ExecutingRunner",
+ "Updating",
+ "Deleting",
+ "Deploying",
+ "Removing",
+ "RotatingSecrets",
+ "Canceled",
+ "Failed",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "Status"
+ }
+ }
+ },
+ "parameters": {
+ "OperationResultIdParameter": {
+ "description": "The operation result identifier.",
+ "name": "operationResultId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Authorization uses an Azure Active Directory OAuth2 flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
index 2d066392edfe..2709fd8be308 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
@@ -42,6 +42,12 @@
"schema": {
"$ref": "#/definitions/ProductDeploymentsList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-pageable": {
@@ -79,8 +85,11 @@
"$ref": "#/definitions/ProductDeploymentResourceEntity"
}
},
- "404": {
- "description": "NOT FOUND"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
}
}
@@ -96,7 +105,7 @@
"tags": [
"ProductDeployments"
],
- "operationId": "ProductDeployments_BootStrap",
+ "operationId": "BootstrapAction_Product",
"parameters": [
{
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
@@ -117,6 +126,12 @@
},
"202": {
"description": "ACCEPTED"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true
@@ -133,7 +148,7 @@
"tags": [
"ProductDeployments"
],
- "operationId": "ProductDeployments_Deploy",
+ "operationId": "DeployAction_Product",
"parameters": [
{
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
@@ -154,6 +169,12 @@
},
"202": {
"description": "ACCEPTED"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true
@@ -170,7 +191,7 @@
"tags": [
"ProductDeployments"
],
- "operationId": "ProductDeployments_Remove",
+ "operationId": "RemoveAction_Product",
"parameters": [
{
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
@@ -188,6 +209,15 @@
},
"202": {
"description": "ACCEPTED"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true
@@ -204,7 +234,7 @@
"tags": [
"ProductDeployments"
],
- "operationId": "ProductDeployments_RotateSecrets",
+ "operationId": "RotateSecretsAction_Product",
"parameters": [
{
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
@@ -222,23 +252,29 @@
},
"202": {
"description": "ACCEPTED"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/unlock": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/executeRunner": {
"post": {
"x-ms-examples": {
- "Unlocks the product subscription": {
- "$ref": "./examples/ProductDeployment/Unlock.json"
+ "Invokes rotate secrets action on the product deployment": {
+ "$ref": "./examples/ProductDeployment/ExecuteRunner.json"
}
},
- "description": "Unlocks the product subscription",
+ "description": "Invokes execute runner action on the product deployment",
"tags": [
"ProductDeployments"
],
- "operationId": "ProductDeployments_Unlock",
+ "operationId": "ExecuteRunnerAction_Product",
"parameters": [
{
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
@@ -247,47 +283,27 @@
"$ref": "Deployment.json#/parameters/ProductIdParameter"
},
{
- "$ref": "ProductDeployment.json#/parameters/UnlockActionParameter"
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ "$ref": "#/parameters/ExecuteRunnerActionParameter"
}
],
"responses": {
"200": {
"description": "OK"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productDeployments/{productId}/lock": {
- "post": {
- "x-ms-examples": {
- "locks the product subscription": {
- "$ref": "./examples/ProductDeployment/Lock.json"
- }
- },
- "description": "locks the product subscription",
- "tags": [
- "ProductDeployments"
- ],
- "operationId": "ProductDeployments_Lock",
- "parameters": [
- {
- "$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
},
- {
- "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ "202": {
+ "description": "ACCEPTED"
},
- {
- "$ref": "Deployment.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
- }
+ },
+ "x-ms-long-running-operation": true
}
}
},
@@ -479,7 +495,7 @@
},
"parameters": {
"description": "Deployment parameters, value in JToken",
- "type": "string"
+ "type": "object"
}
}
},
@@ -493,13 +509,13 @@
}
}
},
- "UnlockActionParameters": {
- "description": "Parameters for bootstrap action",
+ "ExecuteRunnerActionParameters": {
+ "description": "Parameters for execute runner action",
"type": "object",
"properties": {
- "duration": {
- "description": "Duration in TimeSpan format(Define which ISO format)",
- "type": "string"
+ "parameters": {
+ "description": "Execute Runner parameters, value in JToken",
+ "type": "object"
}
}
}
@@ -523,23 +539,23 @@
},
"x-ms-parameter-location": "method"
},
- "UnlockActionParameter": {
+ "DeployActionParameter": {
"description": "Represents bootstrap action parameter",
- "name": "unlockActionParameter",
+ "name": "deployActionParameter",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/UnlockActionParameters"
+ "$ref": "#/definitions/DeployActionParameters"
},
"x-ms-parameter-location": "method"
},
- "DeployActionParameter": {
- "description": "Represents bootstrap action parameter",
- "name": "deployActionParameter",
+ "ExecuteRunnerActionParameter": {
+ "description": "Represents execute runner action parameter",
+ "name": "executeRunnerActionParameter",
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/DeployActionParameters"
+ "$ref": "#/definitions/ExecuteRunnerActionParameters"
},
"x-ms-parameter-location": "method"
}
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 150376191118..56f7a259a89d 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
@@ -42,6 +42,12 @@
"schema": {
"$ref": "#/definitions/ProductPackagesList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-pageable": {
@@ -49,7 +55,7 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{productId}": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}": {
"get": {
"x-ms-examples": {
"Return the product package details.": {
@@ -66,7 +72,7 @@
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
},
{
"$ref": "Deployment.json#/parameters/ApiVersionParameter"
@@ -79,8 +85,11 @@
"$ref": "#/definitions/ProductPackage"
}
},
- "404": {
- "description": "Not Found"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
}
},
@@ -100,7 +109,10 @@
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ProductPackageParameters"
},
{
"$ref": "Deployment.json#/parameters/ApiVersionParameter"
@@ -115,6 +127,12 @@
},
"202": {
"description": "Accepted"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true
@@ -135,7 +153,7 @@
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
},
{
"$ref": "Deployment.json#/parameters/ApiVersionParameter"
@@ -145,8 +163,14 @@
"200": {
"description": "OK"
},
- "404": {
- "description": "Not found"
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true
@@ -246,9 +270,40 @@
"items": {
"$ref": "#/definitions/ProductLink"
}
+ },
+ "ProductPackageParameters": {
+ "description": "Parameters for creating a new product package.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "Specifies the product package",
+ "$ref": "#/definitions/ProductPackageBody"
+ }
+ }
+ },
+ "ProductPackageBody": {
+ "description": "Body for creating a new product package.",
+ "type": "object",
+ "properties": {
+ "fileContainerId": {
+ "description": "Specifies the file container.",
+ "$ref": "#/definitions/FileContainerId"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ProductPackageParameters": {
+ "description": "The parameters required to create a new product package.",
+ "name": "ProductPackageParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProductPackageParameters"
+ },
+ "x-ms-parameter-location": "method"
}
},
- "parameters": {},
"securityDefinitions": {
"azure_auth": {
"type": "oauth2",
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
index 2b4950722d0d..948a731ec7fc 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
@@ -10,7 +10,7 @@
"https"
],
"paths": {
- "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{productId}/secrets": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}/secrets": {
"get": {
"x-ms-examples": {
"Return product secrets list.": {
@@ -30,7 +30,7 @@
"$ref": "Deployment.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
}
],
"responses": {
@@ -39,6 +39,12 @@
"schema": {
"$ref": "#/definitions/ProductSecretsList"
}
+ },
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -52,27 +58,27 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productSecrets/{productId}/secrets/{secretName}": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}/secrets/{secretName}": {
"get": {
"x-ms-examples": {
- "Return the product package details.": {
+ "Return product secrets list.": {
"$ref": "./examples/ProductSecret/Get.Json"
}
},
- "description": "Retrieves the specific product secret details.",
+ "description": "Returns the specific product secret.",
"tags": [
"ProductSecrets"
],
- "operationId": "ProductSecrets_Get",
+ "operationId": "ProductSecrets_GET",
"parameters": [
{
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ "$ref": "Deployment.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "Deployment.json#/parameters/ApiVersionParameter"
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
},
{
"$ref": "#/parameters/SecretNameParameter"
@@ -85,8 +91,11 @@
"$ref": "#/definitions/ProductSecret"
}
},
- "404": {
- "description": "Not Found"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"produces": [
@@ -97,7 +106,7 @@
]
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productSecrets/{productId}/secrets/{secretName}/import": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}/secrets/{secretName}/import": {
"post": {
"x-ms-examples": {
"Imports a product secret.": {
@@ -108,13 +117,13 @@
"tags": [
"ProductSecrets"
],
- "operationId": "ProductSecrets_Import",
+ "operationId": "ProductSecrets_Set",
"parameters": [
{
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
},
{
"$ref": "#/parameters/SecretNameParameter"
@@ -130,8 +139,11 @@
"200": {
"description": "Accepted"
},
- "404": {
- "description": "Not Found"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true,
@@ -143,7 +155,7 @@
]
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productSecrets/{productId}/secrets/{secretName}/validate": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Deployment.Admin/locations/global/productPackages/{packageId}/secrets/{secretName}/validate": {
"post": {
"x-ms-examples": {
"Validates a product secret.": {
@@ -160,7 +172,7 @@
"$ref": "Deployment.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "Deployment.json#/parameters/ProductIdParameter"
+ "$ref": "Deployment.json#/parameters/PackageIdParameter"
},
{
"$ref": "#/parameters/SecretNameParameter"
@@ -176,8 +188,11 @@
"200": {
"description": "Accepted"
},
- "404": {
- "description": "Not Found"
+ "default": {
+ "description": "Default Response.",
+ "schema": {
+ "$ref": "Deployment.json#/definitions/ExtendedErrorInfo"
+ }
}
},
"x-ms-long-running-operation": true,
@@ -375,23 +390,19 @@
"name": "SecretRotationStatus"
}
},
- "SecretValue": {
+ "value": {
"description": "The secret value in a secure string format.",
"type": "string"
},
- "PfxFileName": {
- "description": "The pfx certificate file location.",
- "type": "string"
- },
- "PfxPassword": {
- "description": "The pfx certificate file password as a secure string.",
+ "data": {
+ "description": "The converted Base64 String from a certificate pfx file.",
"type": "string"
},
- "SymmetricKey": {
+ "key": {
"description": "The symmetric key as a secure string.",
"type": "string"
},
- "Password": {
+ "password": {
"description": "The password as a secure string.",
"type": "string"
},
@@ -399,25 +410,21 @@
"description": "Parameters required for creating/updating a product secret.",
"type": "object",
"properties": {
- "secretValue": {
+ "value": {
"description": "The secret value in a secure string format.",
- "$ref": "#/definitions/SecretValue"
+ "$ref": "#/definitions/value"
},
- "pfxFileName": {
- "description": "The pfx certificate file location.",
- "$ref": "#/definitions/PfxFileName"
+ "data": {
+ "description": "The pfx certificate converted Base64 data.",
+ "$ref": "#/definitions/data"
},
- "pfxPassword": {
+ "password": {
"description": "The pfx certificate file password.",
- "$ref": "#/definitions/PfxPassword"
+ "$ref": "#/definitions/password"
},
- "symmetricKey": {
+ "key": {
"description": "The symmetric key.",
- "$ref": "#/definitions/SymmetricKey"
- },
- "password": {
- "description": "The pfx certificate file password.",
- "$ref": "#/definitions/Password"
+ "$ref": "#/definitions/key"
}
}
}
@@ -447,47 +454,7 @@
"in": "body",
"required": true,
"schema": {
- "$ref": "#/definitions/SecretValue"
- },
- "x-ms-parameter-location": "method"
- },
- "PfxFileNameParameter": {
- "description": "The pfx certificate file location.",
- "name": "pfxFileName",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PfxFileName"
- },
- "x-ms-parameter-location": "method"
- },
- "PfxPasswordParameter": {
- "description": "The pfx certificate file password.",
- "name": "pfxPasswordParameter",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/PfxPassword"
- },
- "x-ms-parameter-location": "method"
- },
- "SymmetricKeyParameter": {
- "description": "The symmetric key.",
- "name": "SymmetricKeyParameter",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/SymmetricKey"
- },
- "x-ms-parameter-location": "method"
- },
- "PasswordParameter": {
- "description": "The password.",
- "name": "PasswordParameter",
- "in": "body",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Password"
+ "$ref": "#/definitions/value"
},
"x-ms-parameter-location": "method"
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json
index bd293cc207e7..9eb46e88e746 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/Get.json
@@ -22,7 +22,6 @@
"provisioningState": "Succeeded"
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json
index 9dcd1b396f30..7762b7c897ac 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlan/List.json
@@ -25,8 +25,7 @@
}
}
]
- },
- "404": {}
+ }
}
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperationAttempt/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperationAttempt/Get.json
new file mode 100644
index 000000000000..0aac2fceef65
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperationAttempt/Get.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "966178ff-f8a1-4d43-be09-2cc47f0d3560",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "planId": "0b5ddf5b-cb5a-4dcc-8c2c-d55f1c70eced",
+ "operationId": "UpgradeSFRuntimeInEventHubDataClusters"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/966178ff-f8a1-4d43-be09-2cc47f0d3560/providers/Microsoft.Deployment.Admin/locations/global/actionplans/0b5ddf5b-cb5a-4dcc-8c2c-d55f1c70eced/operations/UpgradeSFRuntimeInEventHubDataClusters/attempts/1",
+ "name": "global/0b5ddf5b-cb5a-4dcc-8c2c-d55f1c70eced/UpgradeSFRuntimeInEventHubDataClusters/1",
+ "type": "Microsoft.Deployment.Admin/locations/actionplans/operations/attempts",
+ "properties": {
+ "startTime": "2020-04-23T02:59:50.5512046Z",
+ "endTime": "2020-04-23T03:02:48.2542795Z",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json
index 916645557aa5..b2f8a694300c 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ActionPlanOperations/Get.json
@@ -78,7 +78,6 @@
"provisioningState": "Succeeded"
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json
index 7ee403600e6d..56aa015592ba 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Delete.json
@@ -7,6 +7,6 @@
},
"responses": {
"200": {},
- "404": {}
+ "204": {}
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json
index 1825d47eb2a0..937784a74cbb 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/FileContainer/Get.json
@@ -18,7 +18,6 @@
"provisioningState": "Succeeded"
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/Get.json
new file mode 100644
index 000000000000..b097755df967
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/Get.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "location": "global",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/b42940a9-c92c-44c8-b745-7558ad4b08d9/providers/Microsoft.Deployment.Admin/locations/global",
+ "name": "global",
+ "type": "Microsoft.Deployment.Admin/locations",
+ "properties": {
+ "location": "global"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/List.json
new file mode 100644
index 000000000000..1c67797c584c
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/Locations/List.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
+ "api-version": "2019-01-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/20ff7fc3-e762-44dd-bd96-b71116dcdc23/providers/Microsoft.Deployment.Admin/locations/1",
+ "name": "1",
+ "type": "Microsoft.Deployment.Admin/locations/1",
+ "properties": {
+ "location": "global"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/OperationResults/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/OperationResults/Get.json
new file mode 100644
index 000000000000..dfc9780b5021
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/OperationResults/Get.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "966178ff-f8a1-4d43-be09-2cc47f0d3560",
+ "location": "redmond",
+ "api-version": "2019-01-01",
+ "operationResultId": "5cf211b1-5971-4edd-8ee2-11c0f651d469"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/966178ff-f8a1-4d43-be09-2cc47f0d3560/providers/Microsoft.Deployment.Admin/locations/redmond/operationResults/5cf211b1-5971-4edd-8ee2-11c0f651d469",
+ "name": "5cf211b1-5971-4edd-8ee2-11c0f651d469",
+ "status": "Bootstrapping",
+ "startTime": "2020-04-28T04:12:45.1800272Z",
+ "endTime": "0001-01-01T00:00:00Z",
+ "percentComplete": 0.0
+ }
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json
index 47466509160e..2ce6071df747 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Deploy.json
@@ -5,7 +5,8 @@
"api-version": "2019-01-01",
"productId": "Microsoft.IotHubPreview",
"deployActionParameter": {
- "version": "1.0.2"
+ "version": "1.0.2",
+ "parameters": {}
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/ExecuteRunner.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/ExecuteRunner.json
new file mode 100644
index 000000000000..e2594cdc0f4a
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/ExecuteRunner.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "7715e512-3adf-48e8-baeb-6d3fcc3de665",
+ "location": "global",
+ "api-version": "2019-01-01",
+ "productId": "Microsoft.NullProvider",
+ "executeRunnerActionParameter": {
+ "parameters": {}
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json
index 260d2b3f837e..c338e71fa21d 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Get.json
@@ -17,7 +17,6 @@
"provisioningState": "Succeeded"
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Lock.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Lock.json
deleted file mode 100644
index 2f0b39fa1bb4..000000000000
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Lock.json
+++ /dev/null
@@ -1,11 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "location": "global",
- "api-version": "2019-01-01",
- "productId": "Microsoft.IotHubPreview"
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json
index 05fdceedfbb6..cef5ba4f6b10 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Remove.json
@@ -7,6 +7,7 @@
},
"responses": {
"200": {},
- "202": {}
+ "202": {},
+ "204": {}
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Unlock.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Unlock.json
deleted file mode 100644
index 648670de33b3..000000000000
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductDeployment/Unlock.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
- "location": "global",
- "api-version": "2019-01-01",
- "productId": "Microsoft.IotHubPreview",
- "unlockActionParameter": {
- "duration": "P5D"
- }
- },
- "responses": {
- "200": {}
- }
-}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json
index b3439f9c6e71..bf9573250475 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Create.json
@@ -3,8 +3,8 @@
"subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
"location": "global",
"api-version": "2019-01-01",
- "productId": "Microsoft.NullProvider.1.1",
- "fileContainerParameter": {
+ "packageId": "Microsoft.NullProvider.1.1",
+ "ProductPackageParameters": {
"properties": {
"fileContainerId": "Microsoft.NullProvider.1.1"
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json
index 106199cd1975..ab64764c8d46 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Delete.json
@@ -3,10 +3,10 @@
"subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
"location": "global",
"api-version": "2019-01-01",
- "productId": "Microsoft.NullProvider.1.1"
+ "packageId": "Microsoft.NullProvider.1.1"
},
"responses": {
"200": {},
- "404": {}
+ "204": {}
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json
index 593f444612a6..bc5abce11e66 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductPackage/Get.json
@@ -3,7 +3,7 @@
"subscriptionId": "be8b2e19-7f92-4644-b808-a18283aebb01",
"location": "global",
"api-version": "2019-01-01",
- "productId": "Microsoft.NullProvider.1.1"
+ "packageId": "Microsoft.NullProvider.1.1"
},
"responses": {
"200": {
@@ -18,7 +18,6 @@
"provisioningState": "Succeeded"
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json
index b6c83ec44937..16b0913aeec5 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Get.Json
@@ -3,9 +3,8 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "global",
"api-version": "2019-01-01",
- "productId": "Microsoft.IotHubPreview.1.0.2",
- "secretName": "secretName",
- "secretValue": "sslCert"
+ "packageId": "Microsoft.IotHubPreview.1.0.2",
+ "secretName": "sslCert"
},
"responses": {
"200": {
@@ -28,7 +27,6 @@
"provisioningState": "Succeeded"
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json
index bf7340c44ac4..faf14789152a 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Import.json
@@ -3,12 +3,10 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "global",
"api-version": "2019-01-01",
- "productId": "Microsoft.IotHubPreview.1.0.2",
+ "packageId": "Microsoft.IotHubPreview.1.0.2",
"secretName": "secretName",
"secretParameters": {
- "properties": {
- "secretValue": "sslCert"
- }
+ "value": "sslCert"
},
"newOffer": {
"properties": {
@@ -18,7 +16,6 @@
}
},
"responses": {
- "200": {},
- "404": {}
+ "200": {}
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json
index cc35a2b5b53a..8ef03a210b70 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/List.json
@@ -3,8 +3,8 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "global",
"api-version": "2019-01-01",
- "productId": "Microsoft.IotHubPreview.1.0.2",
- "secretValue": "sslCert"
+ "packageId": "Microsoft.IotHubPreview.1.0.2",
+ "value": "sslCert"
},
"responses": {
"200": {
diff --git a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json
index 09fc63e01e89..5c6252cd8143 100644
--- a/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json
+++ b/specification/azsadmin/resource-manager/deployment/Microsoft.Deployment.Admin/preview/2019-01-01/examples/ProductSecret/Validate.json
@@ -3,12 +3,10 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "global",
"api-version": "2019-01-01",
- "productId": "Microsoft.IotHubPreview.1.0.2",
+ "packageId": "Microsoft.IotHubPreview.1.0.2",
"secretName": "secretName",
"secretParameters": {
- "properties": {
- "secretValue": "sslCert"
- }
+ "value": "sslCert"
},
"secretValue": "sslCert",
"newOffer": {
@@ -19,7 +17,6 @@
}
},
"responses": {
- "200": {},
- "404": {}
+ "200": {}
}
}
diff --git a/specification/azsadmin/resource-manager/deployment/readme.azsautogen.md b/specification/azsadmin/resource-manager/deployment/readme.azsautogen.md
new file mode 100644
index 000000000000..210d18e38387
--- /dev/null
+++ b/specification/azsadmin/resource-manager/deployment/readme.azsautogen.md
@@ -0,0 +1,57 @@
+# Deployment Admin
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Deployment Admin.
+
+---
+## Getting Started
+To build the SDK for Deployment Admin, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+---
+
+## Configuration
+
+### Basic Information
+These are the global settings for the Deployment Resource Provider API.
+
+``` yaml
+title: DeploymentAdminClient
+description: Deployment Admin Client
+openapi-type: arm
+tag: package-2019-01-01
+```
+
+``` yaml
+input-file:
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
+```
+
+---
+# Code Generation
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.AzureStack.Management.Deployment.Admin
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/Generated
+ clear-output-folder: true
+```
diff --git a/specification/azsadmin/resource-manager/deployment/readme.md b/specification/azsadmin/resource-manager/deployment/readme.md
index 0fd649383551..3de0982996e6 100644
--- a/specification/azsadmin/resource-manager/deployment/readme.md
+++ b/specification/azsadmin/resource-manager/deployment/readme.md
@@ -36,12 +36,23 @@ input-file:
- Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
- Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
- Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
+ - Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json
- Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
+ - Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json
+ - Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json
- Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
- Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
- Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
```
+### Tag: package-2018-07-01
+These settings apply only when `--tag=package-2018-07-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2018-07-01'
+input-file:
+ - Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json
+ - Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json
+```
---
# Code Generation
@@ -72,10 +83,15 @@ input-file:
- $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/Deployment.json
- $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlan.json
- $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperation.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ActionPlanOperationAttempt.json
- $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/FileContainer.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/Locations.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/OperationResults.json
- $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductDeployment.json
- $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductPackage.json
- $(this-folder)/Microsoft.Deployment.Admin/preview/2019-01-01/ProductSecret.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2018-07-01/FileContainer.json
+ - $(this-folder)/Microsoft.Deployment.Admin/preview/2018-07-01/ProductPackage.json
```
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json
new file mode 100644
index 000000000000..395b55e41a6c
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/Common.json
@@ -0,0 +1,35 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2016-05-01",
+ "title": "FabricAdminClient",
+ "description": "The common parameters for Fabric Management specs."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "paths": {},
+ "parameters": {
+ "TopParameter": {
+ "description": "OData top parameter.",
+ "name": "$top",
+ "in": "query",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "SkipParameter": {
+ "description": "OData skip parameter.",
+ "name": "$skip",
+ "in": "query",
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
index 7726d7c276c8..4860d6ab336d 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
@@ -88,6 +88,12 @@
},
{
"$ref": "Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
index 5cbd44d07ee9..909c95d7085c 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
@@ -91,6 +91,12 @@
},
{
"$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
index a49309035b87..c668fc776cfa 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
@@ -97,6 +97,12 @@
},
{
"$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
index e93aa4081d80..6c401faf4622 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json
@@ -85,6 +85,12 @@
},
{
"$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
index 316cfe034ae4..05be0b86dfbf 100644
--- a/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
+++ b/specification/azsadmin/resource-manager/fabric/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
@@ -97,6 +97,12 @@
},
{
"$ref": "../2016-05-01/Fabric.json#/parameters/FilterParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/TopParameter"
+ },
+ {
+ "$ref": "../2016-05-01/Common.json#/parameters/SkipParameter"
}
],
"responses": {
diff --git a/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md b/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md
new file mode 100644
index 000000000000..351a32ded328
--- /dev/null
+++ b/specification/azsadmin/resource-manager/fabric/readme.azsautogen.md
@@ -0,0 +1,72 @@
+# Fabric Admin
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for Fabric Admin.
+
+---
+## Getting Started
+To build the SDK for Fabric Admin, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
+
+> `autorest`
+
+To see additional help and options, run:
+
+> `autorest --help`
+---
+
+## Configuration
+
+### Basic Information
+These are the global settings for the Fabric API.
+
+``` yaml
+title: FabricAdminClient
+description: Fabric Admin Client
+openapi-type: arm
+tag: package-2019-05-01
+```
+
+``` yaml
+input-file:
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ApplicationOperationResults.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ComputeOperationResults.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/Fabric.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGateway.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/EdgeGatewayPool.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/FabricLocation.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/FileShare.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRole.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/InfraRoleInstance.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/IpPool.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalNetwork.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/LogicalSubnet.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/MacAddressPool.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/NetworkOperationResults.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnit.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/ScaleUnitNode.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/SlbMuxInstance.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2016-05-01/StorageOperationResults.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2018-10-01/StorageSubSystem.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Drive.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/Volume.json
+ - $(this-folder)/Microsoft.Fabric.Admin/preview/2019-05-01/NasCluster.json"
+```
+
+---
+# Code Generation
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.AzureStack.Management.Fabric.Admin
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/Generated
+ clear-output-folder: true
+```
diff --git a/specification/azsadmin/resource-manager/fabric/readme.md b/specification/azsadmin/resource-manager/fabric/readme.md
index 66c605b587f4..742e9b9ab447 100644
--- a/specification/azsadmin/resource-manager/fabric/readme.md
+++ b/specification/azsadmin/resource-manager/fabric/readme.md
@@ -197,4 +197,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/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json
index e47cd5146f23..85b0fd60d43d 100644
--- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json
+++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/Subscriptions.json
@@ -91,7 +91,7 @@
"$ref": "#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "#/parameters/NewSubscriptionParameter"
+ "$ref": "#/parameters/SubscriptionDefinitionParameter"
},
{
"$ref": "#/parameters/ApiVersionParameter"
@@ -263,9 +263,9 @@
"description": "Id of the subscription.",
"x-ms-parameter-location": "method"
},
- "NewSubscriptionParameter": {
+ "SubscriptionDefinitionParameter": {
"description": "Subscription parameter.",
- "name": "newSubscription",
+ "name": "subscriptionDefinition",
"in": "body",
"schema": {
"$ref": "#/definitions/Subscription"
diff --git a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json
index 47b02ee55c42..3851dcb6eb2f 100644
--- a/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json
+++ b/specification/azsadmin/resource-manager/user-subscriptions/Microsoft.Subscriptions/preview/2015-11-01/examples/Subscriptions/Create.json
@@ -3,15 +3,13 @@
"subscriptionId": "20ff7fc3-e762-44dd-bd96-b71116dcdc23",
"location": "local",
"api-version": "2015-11-01",
- "newSubscription": {
- "properties": {
- "displayName": "Test User-user1@contoso.com",
- "id": "",
- "offerId": "/delegatedProviders/default/offers/TestOffer-0892f99c-8d1c-48d1-a2b3-128a931afc09",
- "state": "Enabled",
- "subscriptionId": "a7aeb2dd-1b1d-458c-a3dc-09070c2ece5e",
- "tenantId": ""
- }
+ "subscriptionDefinition": {
+ "displayName": "Test User-user1@contoso.com",
+ "id": "",
+ "offerId": "/delegatedProviders/default/offers/TestOffer-0892f99c-8d1c-48d1-a2b3-128a931afc09",
+ "state": "Enabled",
+ "subscriptionId": "a7aeb2dd-1b1d-458c-a3dc-09070c2ece5e",
+ "tenantId": ""
}
},
"responses": {
diff --git a/specification/azsadmin/resource-manager/user-subscriptions/readme.md b/specification/azsadmin/resource-manager/user-subscriptions/readme.md
index 9c3540a14d15..7eff63e9c33d 100644
--- a/specification/azsadmin/resource-manager/user-subscriptions/readme.md
+++ b/specification/azsadmin/resource-manager/user-subscriptions/readme.md
@@ -82,33 +82,13 @@ csharp:
clear-output-folder: true
```
-## Python
-
-These settings apply only when `--python` is specified on the command line.
-
-``` yaml $(python)
-python:
- # override the default output folder
- output-folder: $(output-folder)/python
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
-```
-
-### Tag: package-2015-11-01 and python
-
-These settings apply only when `--tag=package-2015-11-01 --python` is specified on the command line.
-
-``` yaml $(tag) == 'package-2015-11-01' && $(python)
-namespace: azure.mgmt.subscriptions.v2015_06_01_preview
-```
-
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
This block is updated by an automatic script. Edits may be lost!
-``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+``` yaml
# include the azure profile definitions from the standard location
require: $(this-folder)/../../../../profiles/readme.md
@@ -127,3 +107,22 @@ uncomment the `exclude-file` section below and add the file paths.
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+
+``` yaml $(python)
+python:
+ # override the default output folder
+ output-folder: $(output-folder)/python
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+```
+
+### Tag: package-2015-11-01 and python
+
+These settings apply only when `--tag=package-2015-11-01 --python` is specified on the command line.
+
+``` yaml $(tag) == 'package-2015-11-01' && $(python)
+namespace: azure.mgmt.subscriptions.v2015_06_01_preview
+```
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
new file mode 100644
index 000000000000..e7dfbc89d475
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2020-06-14",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "kustodatabase",
+ "defaultPrincipalsModificationKind": "Union"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/attachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Creating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsDelete.json
new file mode 100644
index 000000000000..dd57033e26c5
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsGet.json
new file mode 100644
index 000000000000..55e7468e060b
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "attachedDatabaseConfigurationName": "attachedDatabaseConfigurations1",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/attachedDatabaseConfigurations1",
+ "name": "KustoClusterRPTest4/attachedDatabaseConfigurations1",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "databaseName": "*",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
new file mode 100644
index 000000000000..d03ad4e69fc1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoAttachedDatabaseConfigurationsListByCluster.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/AttachedDatabaseConfigurations/KustoDatabase9",
+ "name": "KustoClusterRPTest4/KustoDatabase9",
+ "type": "Microsoft.Kusto/Clusters/AttachedDatabaseConfigurations",
+ "location": "westus",
+ "properties": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterLeader",
+ "databaseName": "db1",
+ "defaultPrincipalsModificationKind": "Union",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterAddLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterAddLanguageExtensions.json
new file mode 100644
index 000000000000..714b2de30e42
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterAddLanguageExtensions.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14",
+ "languageExtensionsToAdd": {
+ "value": [
+ {
+ "languageExtensionName": "PYTHON"
+ },
+ {
+ "languageExtensionName": "R"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterDetachFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterDetachFollowerDatabases.json
new file mode 100644
index 000000000000..f45bcf4f54b3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterDetachFollowerDatabases.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14",
+ "followerDatabaseToRemove": {
+ "clusterResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/clusters/leader4",
+ "attachedDatabaseConfigurationName": "myAttachedDatabaseConfiguration"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListFollowerDatabases.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListFollowerDatabases.json
new file mode 100644
index 000000000000..372ed1fed327
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListFollowerDatabases.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "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/2020-06-14/examples/KustoClusterListLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListLanguageExtensions.json
new file mode 100644
index 000000000000..6581203981d9
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterListLanguageExtensions.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "languageExtensionName": "PYTHON"
+ },
+ {
+ "languageExtensionName": "R"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json
new file mode 100644
index 000000000000..c86831b19e09
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": {
+ "name": "kustoprincipal1",
+ "type": "Microsoft.Kusto/clusters/principalAssignments"
+ },
+ "api-version": "2020-06-14"
+ },
+ "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/2020-06-14/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json
new file mode 100644
index 000000000000..5be64e6e3e46
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsCreateOrUpdate.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-06-14",
+ "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/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsDelete.json
new file mode 100644
index 000000000000..eec31255f447
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsGet.json
new file mode 100644
index 000000000000..13737e053f15
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsGet.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/kustoprincipal1",
+ "type": "Microsoft.Kusto/Clusters/PrincipalAssignments",
+ "properties": {
+ "role": "Admin",
+ "principalId": "87654321-1234-1234-1234-123456789123",
+ "principalType": "App",
+ "tenantId": "12345678-1234-1234-1234-123456789123",
+ "tenantName": "tenantName",
+ "principalName": "TestApp",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsList.json
new file mode 100644
index 000000000000..b1b71083aa78
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterPrincipalAssignmentsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/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"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterRemoveLanguageExtensions.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterRemoveLanguageExtensions.json
new file mode 100644
index 000000000000..b66521becf23
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClusterRemoveLanguageExtensions.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14",
+ "languageExtensionsToRemove": {
+ "value": [
+ {
+ "languageExtensionName": "PYTHON"
+ },
+ {
+ "languageExtensionName": "R"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCheckNameAvailability.json
new file mode 100644
index 000000000000..29f8da9d1654
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCheckNameAvailability.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2020-06-14",
+ "location": "wus",
+ "clusterName": {
+ "name": "kustoclusterrptest4",
+ "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/2020-06-14/examples/KustoClustersCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCreateOrUpdate.json
new file mode 100644
index 000000000000..5065c3af67e8
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersCreateOrUpdate.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14",
+ "parameters": {
+ "location": "westus",
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "enableDoubleEncryption": false
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "enableDoubleEncryption": false,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "enableDoubleEncryption": false,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDelete.json
new file mode 100644
index 000000000000..635552d1cbc1
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDiagnoseVirtualNetwork.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDiagnoseVirtualNetwork.json
new file mode 100644
index 000000000000..197a3f05f496
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersDiagnoseVirtualNetwork.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "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/2020-06-14/examples/KustoClustersGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersGet.json
new file mode 100644
index 000000000000..44892ca5acf3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersGet.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": false,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersList.json
new file mode 100644
index 000000000000..88284a960b25
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListByResourceGroup.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListByResourceGroup.json
new file mode 100644
index 000000000000..0108b9372831
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest3",
+ "name": "KustoClusterRPTest3",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded"
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListResourceSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListResourceSkus.json
new file mode 100644
index 000000000000..44ade5876d50
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListResourceSkus.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "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/2020-06-14/examples/KustoClustersListSkus.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListSkus.json
new file mode 100644
index 000000000000..9c44eecbf557
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersListSkus.json
@@ -0,0 +1,103 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "api-version": "2020-06-14"
+ },
+ "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/2020-06-14/examples/KustoClustersStart.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStart.json
new file mode 100644
index 000000000000..13eb4ac881c3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStop.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStop.json
new file mode 100644
index 000000000000..13eb4ac881c3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersUpdate.json
new file mode 100644
index 000000000000..3c5d33b762f3
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoClustersUpdate.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14",
+ "parameters": {
+ "location": "westus"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true,
+ "keyVaultProperties": {
+ "keyVaultUri": "https://dummy.keyvault.com",
+ "keyName": "keyName",
+ "keyVersion": "keyVersion"
+ }
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4",
+ "name": "KustoClusterRPTest4",
+ "type": "Microsoft.Kusto/Clusters",
+ "location": "westus",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "enableStreamingIngest": true,
+ "enablePurge": true
+ },
+ "sku": {
+ "name": "Standard_L8s",
+ "capacity": 2,
+ "tier": "Standard"
+ },
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "b932977f-6277-4ab7-a2cd-5bd21f07aaf4",
+ "principalId": "faabad1f-4876-463c-af9d-6ba2d2d2394c",
+ "userAssignedIdentities": {}
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionValidation.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionValidation.json
new file mode 100644
index 000000000000..0cc43d24d15d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionValidation.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14",
+ "parameters": {
+ "dataConnectionName": "DataConnections8",
+ "properties": {
+ "kind": "EventHub",
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "errorMessage": "Event hub's namespace does not exist"
+ },
+ {
+ "errorMessage": "Database does not exist"
+ }
+ ]
+ },
+ "202": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCheckNameAvailability.json
new file mode 100644
index 000000000000..874c7fb9a8de
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCheckNameAvailability.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-06-14",
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "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/2020-06-14/examples/KustoDataConnectionsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCreateOrUpdate.json
new file mode 100644
index 000000000000..d8f408b09135
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsCreateOrUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsDelete.json
new file mode 100644
index 000000000000..d8e12541ac64
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14",
+ "dataConnectionName": "kustoeventhubconnection1"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsGet.json
new file mode 100644
index 000000000000..4b6e6fc20dbe
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsGet.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14",
+ "dataConnectionName": "DataConnections8"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsListByDatabase.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsListByDatabase.json
new file mode 100644
index 000000000000..ae066afb7e08
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsListByDatabase.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/KustoDataConnection8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/KustoDataConnection8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9/DataConnections/KustoDataConnection9",
+ "name": "KustoClusterRPTest4/KustoDatabase9/KustoDataConnection9",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns2/eventhubs/eventhubTest2",
+ "consumerGroup": "testConsumerGroup2"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsUpdate.json
new file mode 100644
index 000000000000..d8f408b09135
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDataConnectionsUpdate.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14",
+ "dataConnectionName": "DataConnections8",
+ "parameters": {
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8/DataConnections/DataConnections8",
+ "name": "KustoClusterRPTest4/KustoDatabase8/DataConnections8",
+ "type": "Microsoft.Kusto/Clusters/Databases/DataConnections",
+ "location": "westus",
+ "kind": "EventHub",
+ "properties": {
+ "eventHubResourceId": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.EventHub/namespaces/eventhubTestns1/eventhubs/eventhubTest1",
+ "consumerGroup": "testConsumerGroup1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseAddPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseAddPrincipals.json
new file mode 100644
index 000000000000..76782e424a77
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseAddPrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14",
+ "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/2020-06-14/examples/KustoDatabaseListPrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseListPrincipals.json
new file mode 100644
index 000000000000..30ce44d15ecf
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseListPrincipals.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14"
+ },
+ "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/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json
new file mode 100644
index 000000000000..786337cdc34d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCheckNameAvailability.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": {
+ "name": "kustoprincipal1",
+ "type": "Microsoft.Kusto/clusters/databases/principalAssignments"
+ },
+ "api-version": "2020-06-14"
+ },
+ "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/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json
new file mode 100644
index 000000000000..3c805dbfde19
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsCreateOrUpdate.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-06-14",
+ "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/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/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"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsDelete.json
new file mode 100644
index 000000000000..cac1fe662991
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsGet.json
new file mode 100644
index 000000000000..f68b3ef7496d
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "principalAssignmentName": "kustoprincipal1",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/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"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsList.json
new file mode 100644
index 000000000000..b1b71083aa78
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasePrincipalAssignmentsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "Kustodatabase8",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/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"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/kustoclusterrptest4/Databases/Kustodatabase8/PrincipalAssignments/kustoprincipal1",
+ "name": "kustoclusterrptest4/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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseRemovePrincipals.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseRemovePrincipals.json
new file mode 100644
index 000000000000..f4082621bcaf
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabaseRemovePrincipals.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14",
+ "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/2020-06-14/examples/KustoDatabasesCheckNameAvailability.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCheckNameAvailability.json
new file mode 100644
index 000000000000..5726470601bb
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCheckNameAvailability.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "api-version": "2020-06-14",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "resourceName": {
+ "name": "kustoresourcename1",
+ "type": "Microsoft.Kusto/clusters/databases"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "kustoresourcename1",
+ "nameAvailable": false,
+ "message": "Name 'kuskus' is already taken. Please specify a different name"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json
new file mode 100644
index 000000000000..76b9c8e81e96
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesCreateOrUpdate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14",
+ "parameters": {
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesDelete.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesDelete.json
new file mode 100644
index 000000000000..566a505547e7
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesGet.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesGet.json
new file mode 100644
index 000000000000..34b4e866b585
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesListByCluster.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesListByCluster.json
new file mode 100644
index 000000000000..0d43e6b33f66
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesListByCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "api-version": "2020-06-14"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase9",
+ "name": "KustoClusterRPTest4/KustoDatabase9",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesUpdate.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesUpdate.json
new file mode 100644
index 000000000000..4c36dd0a6038
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoDatabasesUpdate.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-123456789098",
+ "resourceGroupName": "kustorptest",
+ "clusterName": "kustoclusterrptest4",
+ "databaseName": "KustoDatabase8",
+ "api-version": "2020-06-14",
+ "parameters": {
+ "properties": {
+ "softDeletePeriod": "P1D"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "kind": "ReadWrite",
+ "location": "westus",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-123456789098/resourceGroups/kustorptest/providers/Microsoft.Kusto/Clusters/KustoClusterRPTest4/Databases/KustoDatabase8",
+ "name": "KustoClusterRPTest4/KustoDatabase8",
+ "type": "Microsoft.Kusto/Clusters/Databases",
+ "location": "westus",
+ "kind": "ReadWrite",
+ "properties": {
+ "softDeletePeriod": "P1D",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoOperationsList.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoOperationsList.json
new file mode 100644
index 000000000000..36ea112ce353
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/examples/KustoOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-06-14"
+ },
+ "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/2020-06-14/kusto.json b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json
new file mode 100644
index 000000000000..31bd2dd2c57b
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/Microsoft.Kusto/stable/2020-06-14/kusto.json
@@ -0,0 +1,4281 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "KustoManagementClient",
+ "version": "2020-06-14"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "x-ms-examples": {
+ "KustoClustersGet": {
+ "$ref": "./examples/KustoClustersGet.json"
+ }
+ },
+ "description": "Gets a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Kusto cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoClustersCreateOrUpdate": {
+ "$ref": "./examples/KustoClustersCreateOrUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Create or update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ },
+ "description": "The Kusto cluster parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully created the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "x-ms-examples": {
+ "KustoClustersUpdate": {
+ "$ref": "./examples/KustoClustersUpdate.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Update a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterUpdate"
+ },
+ "description": "The Kusto cluster parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the Cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "202": {
+ "description": "Successfully updated the cluster.",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "x-ms-examples": {
+ "KustoClustersDelete": {
+ "$ref": "./examples/KustoClustersDelete.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Deletes a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- cluster deleted successfully."
+ },
+ "202": {
+ "description": "Accepted the delete cluster request."
+ },
+ "204": {
+ "description": "NoContent -- cluster does not exist in the subscription."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/stop": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Stop",
+ "x-ms-examples": {
+ "KustoClustersStop": {
+ "$ref": "./examples/KustoClustersStop.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Stops a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/start": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Start",
+ "x-ms-examples": {
+ "KustoClustersStart": {
+ "$ref": "./examples/KustoClustersStart.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "description": "Starts a Kusto cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/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"
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "description": "Azure location.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "clusterName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterCheckNameRequest"
+ },
+ "description": "The name of the cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_CheckNameAvailability",
+ "x-ms-examples": {
+ "KustoDatabaseCheckNameAvailability": {
+ "$ref": "./examples/KustoDatabasesCheckNameAvailability.json"
+ }
+ },
+ "description": "Checks that the database name is valid and is not already in use.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceName",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameRequest"
+ },
+ "description": "The name of the resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Operation to check the kusto resource name availability was successful.",
+ "schema": {
+ "$ref": "#/definitions/CheckNameResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/skus": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListSkusByResource",
+ "x-ms-examples": {
+ "KustoClustersListResourceSkus": {
+ "$ref": "./examples/KustoClustersListResourceSkus.json"
+ }
+ },
+ "description": "Returns the SKUs available for the provided resource.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ListResourceSkusResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns the list of databases of the given Kusto cluster.",
+ "operationId": "Databases_ListByCluster",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDatabasesListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of databases.",
+ "schema": {
+ "$ref": "#/definitions/DatabaseListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}": {
+ "get": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Returns a database.",
+ "operationId": "Databases_Get",
+ "x-ms-examples": {
+ "KustoDatabasesGet": {
+ "$ref": "./examples/KustoDatabasesGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Creates or updates a database.",
+ "operationId": "Databases_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDatabasesCreateOrUpdate": {
+ "$ref": "./examples/KustoDatabasesCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Updates a database.",
+ "operationId": "Databases_Update",
+ "x-ms-examples": {
+ "KustoDatabasesUpdate": {
+ "$ref": "./examples/KustoDatabasesUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Database"
+ },
+ "description": "The database parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "202": {
+ "description": "Accepted the update database request.",
+ "schema": {
+ "$ref": "#/definitions/Database"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "Databases"
+ ],
+ "description": "Deletes the database with the given name.",
+ "operationId": "Databases_Delete",
+ "x-ms-examples": {
+ "KustoDatabasesDelete": {
+ "$ref": "./examples/KustoDatabasesDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the database."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified database does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/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}/attachedDatabaseConfigurations": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns the list of attached database configurations of the given Kusto cluster.",
+ "operationId": "AttachedDatabaseConfigurations_ListByCluster",
+ "x-ms-examples": {
+ "KustoAttachedDatabaseConfigurationsListByCluster": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsListByCluster.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of attached database configurations.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfigurationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/attachedDatabaseConfigurations/{attachedDatabaseConfigurationName}": {
+ "get": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Returns an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_Get",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsGet": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified attached database configuration.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Creates or updates an attached database configuration.",
+ "operationId": "AttachedDatabaseConfigurations_CreateOrUpdate",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsCreateOrUpdate": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The database parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the database.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "201": {
+ "description": "Successfully created the database.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "202": {
+ "description": "Accepted the create database request.",
+ "schema": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "AttachedDatabaseConfigurations"
+ ],
+ "description": "Deletes the attached database configuration with the given name.",
+ "operationId": "AttachedDatabaseConfigurations_Delete",
+ "x-ms-examples": {
+ "AttachedDatabaseConfigurationsDelete": {
+ "$ref": "./examples/KustoAttachedDatabaseConfigurationsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/AttachedDatabaseConfigurationNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the database."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified database does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/removePrincipals": {
+ "post": {
+ "tags": [
+ "Databases"
+ ],
+ "operationId": "Databases_RemovePrincipals",
+ "x-ms-examples": {
+ "KustoDatabaseRemovePrincipals": {
+ "$ref": "./examples/KustoDatabaseRemovePrincipals.json"
+ }
+ },
+ "description": "Remove Database principals permissions.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "databasePrincipalsToRemove",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListRequest"
+ },
+ "description": "List of database principals to remove."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK -- Successfully removed the list of database principals. Returns the updated list of principals.",
+ "schema": {
+ "$ref": "#/definitions/DatabasePrincipalListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnections": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns the list of data connections of the given Kusto database.",
+ "operationId": "DataConnections_ListByDatabase",
+ "x-ms-examples": {
+ "KustoDatabasesListByCluster": {
+ "$ref": "./examples/KustoDataConnectionsListByDatabase.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the list of data connections.",
+ "schema": {
+ "$ref": "#/definitions/DataConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Kusto/clusters/{clusterName}/databases/{databaseName}/dataConnectionValidation": {
+ "post": {
+ "tags": [
+ "DataConnections"
+ ],
+ "operationId": "DataConnections_dataConnectionValidation",
+ "x-ms-examples": {
+ "KustoDataConnectionValidation": {
+ "$ref": "./examples/KustoDataConnectionValidation.json"
+ }
+ },
+ "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}/dataConnections/{dataConnectionName}": {
+ "get": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Returns a data connection.",
+ "operationId": "DataConnections_Get",
+ "x-ms-examples": {
+ "KustoDataConnectionsGet": {
+ "$ref": "./examples/KustoDataConnectionsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved the specified data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Creates or updates a data connection.",
+ "operationId": "DataConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "KustoDataConnectionsCreateOrUpdate": {
+ "$ref": "./examples/KustoDataConnectionsCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the CreateOrUpdate operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully created the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the create data connection request.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Updates a data connection.",
+ "operationId": "DataConnections_Update",
+ "x-ms-examples": {
+ "KustoDataConnectionsUpdate": {
+ "$ref": "./examples/KustoDataConnectionsUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ },
+ "description": "The data connection parameters supplied to the Update operation."
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "201": {
+ "description": "Successfully updated the data connection.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "202": {
+ "description": "Accepted the update data connection request.",
+ "schema": {
+ "$ref": "#/definitions/DataConnection"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DataConnections"
+ ],
+ "description": "Deletes the data connection with the given name.",
+ "operationId": "DataConnections_Delete",
+ "x-ms-examples": {
+ "KustoDataConnectionsDelete": {
+ "$ref": "./examples/KustoDataConnectionsDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DatabaseNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DataConnectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the data connection."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified data connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.Kusto/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "KustoOperationsList": {
+ "$ref": "./examples/KustoOperationsList.json"
+ }
+ },
+ "description": "Lists available operations for the Microsoft.Kusto provider.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was successful. The response contains the list of available operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterProperties": {
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the resource.",
+ "enum": [
+ "Creating",
+ "Unavailable",
+ "Running",
+ "Deleting",
+ "Deleted",
+ "Stopping",
+ "Stopped",
+ "Starting",
+ "Updating"
+ ],
+ "x-ms-enum": {
+ "name": "State",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "uri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster URI."
+ },
+ "dataIngestionUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The cluster data ingestion URI."
+ },
+ "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.",
+ "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"
+ }
+ },
+ "description": "Class representing the Kusto cluster properties."
+ },
+ "TrustedExternalTenant": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "GUID representing an external tenant."
+ }
+ },
+ "description": "Represents a tenant ID that is trusted by the cluster."
+ },
+ "AzureResourceSku": {
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "description": "Resource Namespace and Type."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU details."
+ },
+ "capacity": {
+ "$ref": "#/definitions/AzureCapacity",
+ "description": "The number of instances of the cluster."
+ }
+ },
+ "description": "Azure resource SKU definition."
+ },
+ "AzureCapacity": {
+ "type": "object",
+ "required": [
+ "minimum",
+ "maximum",
+ "default",
+ "scaleType"
+ ],
+ "properties": {
+ "scaleType": {
+ "description": "Scale type.",
+ "type": "string",
+ "enum": [
+ "automatic",
+ "manual",
+ "none"
+ ],
+ "x-ms-enum": {
+ "name": "AzureScaleType",
+ "modelAsString": true
+ }
+ },
+ "minimum": {
+ "description": "Minimum allowed capacity.",
+ "type": "integer"
+ },
+ "maximum": {
+ "description": "Maximum allowed capacity.",
+ "type": "integer"
+ },
+ "default": {
+ "description": "The default capacity that would be used.",
+ "type": "integer"
+ }
+ },
+ "description": "Azure capacity definition."
+ },
+ "SkuDescriptionList": {
+ "description": "The list of the EngagementFabric SKU descriptions",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "SKU descriptions",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuDescription"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuDescription": {
+ "description": "The Kusto SKU description of given resource type",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The tier of the SKU",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The set of locations that the SKU is available",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Locations and zones",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfoItem"
+ },
+ "readOnly": true
+ },
+ "restrictions": {
+ "description": "The restrictions because of which SKU cannot be used",
+ "type": "array",
+ "items": {
+ "type": "object"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfoItem": {
+ "description": "The locations and zones info for SKU.",
+ "type": "object",
+ "required": [
+ "location"
+ ],
+ "properties": {
+ "location": {
+ "description": "The available location of the SKU.",
+ "type": "string"
+ },
+ "zones": {
+ "description": "The available zone of the SKU.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "AzureSku": {
+ "type": "object",
+ "required": [
+ "name",
+ "tier"
+ ],
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "type": "string",
+ "enum": [
+ "Standard_DS13_v2+1TB_PS",
+ "Standard_DS13_v2+2TB_PS",
+ "Standard_DS14_v2+3TB_PS",
+ "Standard_DS14_v2+4TB_PS",
+ "Standard_D13_v2",
+ "Standard_D14_v2",
+ "Standard_L8s",
+ "Standard_L16s",
+ "Standard_D11_v2",
+ "Standard_D12_v2",
+ "Standard_L4s",
+ "Dev(No SLA)_Standard_D11_v2",
+ "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",
+ "Dev(No SLA)_Standard_E2a_v4"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuName",
+ "modelAsString": true
+ }
+ },
+ "capacity": {
+ "description": "The number of instances of the cluster.",
+ "type": "integer"
+ },
+ "tier": {
+ "description": "SKU tier.",
+ "type": "string",
+ "enum": [
+ "Basic",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "AzureSkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Azure SKU definition."
+ },
+ "Zones": {
+ "description": "An array represents the availability zones of the cluster.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "OptimizedAutoscale": {
+ "type": "object",
+ "required": [
+ "version",
+ "isEnabled",
+ "minimum",
+ "maximum"
+ ],
+ "properties": {
+ "version": {
+ "description": "The version of the template defined, for instance 1.",
+ "type": "integer"
+ },
+ "isEnabled": {
+ "description": "A boolean value that indicate if the optimized autoscale feature is enabled or not.",
+ "type": "boolean"
+ },
+ "minimum": {
+ "description": "Minimum allowed instances count.",
+ "type": "integer"
+ },
+ "maximum": {
+ "description": "Maximum allowed instances count.",
+ "type": "integer"
+ }
+ },
+ "description": "A class that contains the optimized auto scale definition."
+ },
+ "VirtualNetworkConfiguration": {
+ "type": "object",
+ "required": [
+ "subnetId",
+ "enginePublicIpId",
+ "dataManagementPublicIpId"
+ ],
+ "properties": {
+ "subnetId": {
+ "description": "The subnet resource id.",
+ "type": "string"
+ },
+ "enginePublicIpId": {
+ "description": "Engine service's public IP address resource id.",
+ "type": "string"
+ },
+ "dataManagementPublicIpId": {
+ "description": "Data management's service public IP address resource id.",
+ "type": "string"
+ }
+ },
+ "description": "A class that contains virtual network definition."
+ },
+ "DatabaseStatistics": {
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "size": {
+ "type": "number",
+ "description": "The database size - the total size of compressed data and index in bytes."
+ }
+ },
+ "description": "A class that contains database statistics information."
+ },
+ "AttachedDatabaseConfigurationProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "databaseName": {
+ "type": "string",
+ "description": "The name of the database which you would like to attach, use * if you want to follow all current and future databases."
+ },
+ "clusterResourceId": {
+ "type": "string",
+ "description": "The resource id of the cluster where the databases you would like to attach reside."
+ },
+ "attachedDatabaseNames": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "The list of databases from the clusterResourceId which are currently attached to the cluster."
+ },
+ "defaultPrincipalsModificationKind": {
+ "type": "string",
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "DefaultPrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The default principals modification kind"
+ }
+ },
+ "description": "Class representing the an attached database configuration properties of kind specific.",
+ "required": [
+ "databaseName",
+ "clusterResourceId",
+ "defaultPrincipalsModificationKind"
+ ]
+ },
+ "ReadWriteDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "description": "The statistics of the database."
+ },
+ "isFollowed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Indicates whether the database is followed."
+ }
+ },
+ "description": "Class representing the Kusto database properties."
+ },
+ "ReadOnlyFollowingDatabaseProperties": {
+ "properties": {
+ "provisioningState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The provisioned state of the resource.",
+ "enum": [
+ "Running",
+ "Creating",
+ "Deleting",
+ "Succeeded",
+ "Failed",
+ "Moving"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ }
+ },
+ "softDeletePeriod": {
+ "type": "string",
+ "readOnly": true,
+ "format": "duration",
+ "description": "The time the data should be kept before it stops being accessible to queries in TimeSpan."
+ },
+ "hotCachePeriod": {
+ "type": "string",
+ "format": "duration",
+ "description": "The time the data should be kept in cache for fast queries in TimeSpan."
+ },
+ "statistics": {
+ "$ref": "#/definitions/DatabaseStatistics",
+ "description": "The statistics of the database."
+ },
+ "leaderClusterResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the leader cluster"
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the attached database configuration cluster"
+ },
+ "principalsModificationKind": {
+ "type": "string",
+ "readOnly": true,
+ "enum": [
+ "Union",
+ "Replace",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "PrincipalsModificationKind",
+ "modelAsString": true
+ },
+ "description": "The principals modification kind of the database"
+ }
+ },
+ "description": "Class representing the Kusto database properties."
+ },
+ "EventHubConnectionProperties": {
+ "properties": {
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The resource ID of the event hub to be used to create a data connection."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The event hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/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"
+ }
+ },
+ "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"
+ }
+ },
+ "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
+ }
+ },
+ "EventGridConnectionProperties": {
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "The resource ID of the storage account where the data resides."
+ },
+ "eventHubResourceId": {
+ "type": "string",
+ "description": "The resource ID where the event grid is configured to send events."
+ },
+ "consumerGroup": {
+ "type": "string",
+ "description": "The event hub consumer group."
+ },
+ "tableName": {
+ "type": "string",
+ "description": "The table where the data should be ingested. Optionally the table information can be added to each message."
+ },
+ "mappingRuleName": {
+ "type": "string",
+ "description": "The mapping rule to be used to ingest the data. Optionally the mapping information can be added to each message."
+ },
+ "dataFormat": {
+ "$ref": "#/definitions/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."
+ }
+ },
+ "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."
+ },
+ "zones": {
+ "$ref": "#/definitions/Zones",
+ "description": "The availability zones of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ClusterProperties",
+ "description": "The cluster properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Class representing a Kusto cluster."
+ },
+ "ClusterUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "sku": {
+ "$ref": "#/definitions/AzureSku",
+ "description": "The SKU of the cluster."
+ },
+ "identity": {
+ "$ref": "#/definitions/Identity",
+ "description": "The identity of the cluster, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The cluster properties.",
+ "$ref": "#/definitions/ClusterProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/Resource"
+ }
+ ],
+ "description": "Class representing an update to a Kusto cluster."
+ },
+ "AttachedDatabaseConfigurationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AttachedDatabaseConfiguration"
+ },
+ "description": "The list of attached database configurations."
+ }
+ },
+ "description": "The list attached database configurations operation response."
+ },
+ "AttachedDatabaseConfiguration": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the attached database configuration.",
+ "$ref": "#/definitions/AttachedDatabaseConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an attached database configuration."
+ },
+ "Database": {
+ "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",
+ "UnrestrictedViewers",
+ "Viewer"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalRole",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Database principal name.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Database principal type.",
+ "type": "string",
+ "enum": [
+ "App",
+ "Group",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "DatabasePrincipalType",
+ "modelAsString": true
+ }
+ },
+ "fqn": {
+ "description": "Database principal fully qualified name.",
+ "type": "string"
+ },
+ "email": {
+ "description": "Database principal email if exists.",
+ "type": "string"
+ },
+ "appId": {
+ "description": "Application id - relevant only for application principal type.",
+ "type": "string"
+ },
+ "tenantName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The tenant name of the principal"
+ }
+ },
+ "description": "A class representing database principal entity."
+ },
+ "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",
+ "UnrestrictedViewers",
+ "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": {
+ "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
+ }
+ }
+ },
+ "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": {
+ "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
+ }
+ }
+ },
+ "description": "A class representing cluster principal property."
+ },
+ "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."
+ },
+ "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": "Kind",
+ "modelAsString": true
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Class representing an data connection.",
+ "discriminator": "kind"
+ },
+ "DataConnectionValidationResult": {
+ "type": "object",
+ "properties": {
+ "errorMessage": {
+ "type": "string",
+ "description": "A message which indicates a problem in data connection validation."
+ }
+ },
+ "description": "The result returned from a data connection validation request."
+ },
+ "DatabasePrincipalListRequest": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabasePrincipal"
+ },
+ "description": "The list of Kusto database principals."
+ }
+ },
+ "description": "The list Kusto database principals operation request."
+ },
+ "FollowerDatabaseDefinition": {
+ "type": "object",
+ "required": [
+ "clusterResourceId",
+ "attachedDatabaseConfigurationName"
+ ],
+ "properties": {
+ "clusterResourceId": {
+ "type": "string",
+ "description": "Resource id of the cluster that follows a database owned by this cluster."
+ },
+ "attachedDatabaseConfigurationName": {
+ "type": "string",
+ "description": "Resource name of the attached database configuration in the follower cluster."
+ },
+ "databaseName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The database name owned by this cluster that was followed. * in case following all databases."
+ }
+ },
+ "description": "A class representing follower database request."
+ },
+ "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": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a cluster check name availability request."
+ },
+ "CheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/databases",
+ "Microsoft.Kusto/clusters/attachedDatabaseConfigurations"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, for instance Microsoft.Kusto/clusters/databases."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "The result returned from a database check name availability request."
+ },
+ "ClusterPrincipalAssignmentCheckNameRequest": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Principal Assignment resource name."
+ },
+ "type": {
+ "type": "string",
+ "enum": [
+ "Microsoft.Kusto/clusters/principalAssignments"
+ ],
+ "x-ms-enum": {
+ "name": "Type",
+ "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": "Type",
+ "modelAsString": false
+ },
+ "description": "The type of resource, Microsoft.Kusto/clusters/databases/dataConnections."
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "A data connection check 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": "Type",
+ "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 identity type.",
+ "enum": [
+ "None",
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "IdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with the Kusto cluster. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "required": [
+ "type"
+ ],
+ "description": "Identity for the resource."
+ },
+ "KeyVaultProperties": {
+ "description": "Properties of the key vault.",
+ "required": [
+ "keyName",
+ "keyVersion",
+ "keyVaultUri"
+ ],
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "The name of the key vault key.",
+ "x-ms-client-name": "KeyName"
+ },
+ "keyVersion": {
+ "type": "string",
+ "description": "The version of the key vault key.",
+ "x-ms-client-name": "KeyVersion"
+ },
+ "keyVaultUri": {
+ "type": "string",
+ "description": "The Uri of the key vault.",
+ "x-ms-client-name": "KeyVaultUri"
+ }
+ }
+ },
+ "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."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "description": "The name of the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "AttachedDatabaseConfigurationNameParameter": {
+ "name": "attachedDatabaseConfigurationName",
+ "in": "path",
+ "description": "The name of the attached database configuration.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceGroupParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The name of the resource group containing the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DatabaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "description": "The name of the database in the Kusto cluster.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "DataConnectionNameParameter": {
+ "name": "dataConnectionName",
+ "in": "path",
+ "description": "The name of the data connection.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "PrincipalAssignmentNameParameter": {
+ "name": "principalAssignmentName",
+ "in": "path",
+ "description": "The name of the Kusto principalAssignment.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ }
+}
diff --git a/specification/azure-kusto/resource-manager/readme.azureresourceschema.md b/specification/azure-kusto/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..96c34a3fb116
--- /dev/null
+++ b/specification/azure-kusto/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,96 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-kusto-2020-06-14
+ - tag: schema-kusto-2020-02-15
+ - tag: schema-kusto-2019-11-09
+ - tag: schema-kusto-2019-09-07
+ - tag: schema-kusto-2019-05-15
+ - tag: schema-kusto-2019-01-21
+ - tag: schema-kusto-2018-09-07-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-kusto-2020-06-14 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2020-06-14' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2020-06-14/kusto.json
+
+```
+
+### Tag: schema-kusto-2020-02-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2020-02-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2020-02-15/kusto.json
+
+```
+
+### Tag: schema-kusto-2019-11-09 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2019-11-09' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2019-11-09/kusto.json
+
+```
+
+### Tag: schema-kusto-2019-09-07 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2019-09-07' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2019-09-07/kusto.json
+
+```
+
+### Tag: schema-kusto-2019-05-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2019-05-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2019-05-15/kusto.json
+
+```
+
+### Tag: schema-kusto-2019-01-21 and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2019-01-21' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/stable/2019-01-21/kusto.json
+
+```
+
+### Tag: schema-kusto-2018-09-07-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-kusto-2018-09-07-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kusto/preview/2018-09-07-preview/kusto.json
+
+```
diff --git a/specification/azure-kusto/resource-manager/readme.go.md b/specification/azure-kusto/resource-manager/readme.go.md
index 15474d8a5833..ed01044bbc85 100644
--- a/specification/azure-kusto/resource-manager/readme.go.md
+++ b/specification/azure-kusto/resource-manager/readme.go.md
@@ -19,6 +19,7 @@ batch:
- tag: package-2019-09-07
- tag: package-2019-11-09
- tag: package-2020-02-15
+ - tag: package-2020-06-14
```
### Tag: package-2018-09-07-preview and go
@@ -74,3 +75,12 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-14' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-14/$(namespace)
+```
diff --git a/specification/azure-kusto/resource-manager/readme.java.md b/specification/azure-kusto/resource-manager/readme.java.md
index aa1b6240aba8..aad8458d0f18 100644
--- a/specification/azure-kusto/resource-manager/readme.java.md
+++ b/specification/azure-kusto/resource-manager/readme.java.md
@@ -18,6 +18,7 @@ output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-kusto
batch:
- tag: package-2019-11-09
- tag: package-2020-02-15
+ - tag: package-2020-06-14
```
### Tag: package-2018-09-07-preview and java
@@ -96,4 +97,17 @@ java:
output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2020_02_15
regenerate-manager: true
generate-interface: true
+```
+
+### Tag: package-2020-06-14 and java
+
+These settings apply only when `--tag=package-2020-06-14 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-06-14' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.kusto.v2020_06_14
+ output-folder: $(azure-libraries-for-java-folder)/sdk/kusto/mgmt-v2020_06_14
+regenerate-manager: true
+generate-interface: true
```
\ No newline at end of file
diff --git a/specification/azure-kusto/resource-manager/readme.md b/specification/azure-kusto/resource-manager/readme.md
index ef252e846aa8..f33e161ac118 100644
--- a/specification/azure-kusto/resource-manager/readme.md
+++ b/specification/azure-kusto/resource-manager/readme.md
@@ -28,7 +28,16 @@ These are the global settings for the Kusto API.
title: KustoManagementClient
description: 'The Azure Kusto management API provides a RESTful set of web services that interact with Azure Kusto services to manage your clusters and databases. The API enables you to create, update, and delete clusters and databases.'
openapi-type: arm
-tag: package-2020-02-15
+tag: package-2020-06-14
+```
+
+### Tag: package-2020-06-14
+
+These settings apply only when `--tag=package-2020-06-14` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-06-14'
+input-file:
+ - Microsoft.Kusto/stable/2020-06-14/kusto.json
```
### Tag: package-2020-02-15
@@ -160,9 +169,13 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
+ - repo: azure-sdk-for-js
- repo: azure-sdk-for-go
- repo: azure-sdk-for-java
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azure-kusto/resource-manager
```
## C#
@@ -183,6 +196,10 @@ csharp:
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -195,6 +212,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Kusto/stable/2020-06-14/kusto.json
- $(this-folder)/Microsoft.Kusto/stable/2020-02-15/kusto.json
- $(this-folder)/Microsoft.Kusto/stable/2019-11-09/kusto.json
- $(this-folder)/Microsoft.Kusto/stable/2019-09-07/kusto.json
diff --git a/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md b/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b6bab336b329
--- /dev/null
+++ b/specification/azureactivedirectory/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,49 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-aadiam-2020-07-01-preview
+ - tag: schema-aadiam-2020-03-01-preview
+ - tag: schema-aadiam-2017-04-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-aadiam-2020-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-aadiam-2020-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json
+
+```
+
+### Tag: schema-aadiam-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-aadiam-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json
+ - Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json
+
+```
+
+### Tag: schema-aadiam-2017-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-aadiam-2017-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json
+
+```
diff --git a/specification/azureactivedirectory/resource-manager/readme.md b/specification/azureactivedirectory/resource-manager/readme.md
index 46fe420e432e..76d6a582264c 100644
--- a/specification/azureactivedirectory/resource-manager/readme.md
+++ b/specification/azureactivedirectory/resource-manager/readme.md
@@ -95,6 +95,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_azureactivedirectory']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azureactivedirectory/resource-manager
```
## Go
@@ -117,6 +120,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -129,11 +136,10 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- - $(this-folder)/Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json
- $(this-folder)/Microsoft.Aadiam/preview/2020-07-01-preview/azureADMetrics.json
- $(this-folder)/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkForAzureAD.json
- $(this-folder)/Microsoft.Aadiam/preview/2020-03-01-preview/privateLinkResources.json
-
+ - $(this-folder)/Microsoft.Aadiam/stable/2017-04-01/azureactivedirectory.json
```
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 86241df72903..c8f01b22aae2 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
@@ -568,13 +568,13 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/sqlInstances": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/sqlManagedInstances": {
"get": {
"tags": [
- "SqlInstances"
+ "SqlManagedInstances"
],
- "operationId": "SqlInstances_List",
- "summary": "List sqlInstance resources in the subscription",
+ "operationId": "SqlManagedInstances_List",
+ "summary": "List sqlManagedInstance resources in the subscription",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -587,7 +587,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SqlInstanceListResult"
+ "$ref": "#/definitions/SqlManagedInstanceListResult"
}
},
"default": {
@@ -602,19 +602,19 @@
},
"x-ms-examples": {
"Gets all SQL Instance in a subscription.": {
- "$ref": "./examples/ListSubscriptionSqlIInstance.json"
+ "$ref": "./examples/ListSubscriptionSqlManagedInstance.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlInstances": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlManagedInstances": {
"get": {
"tags": [
- "SqlInstances"
+ "SqlManagedInstances"
],
- "operationId": "SqlInstances_ListByResourceGroup",
- "description": "Gets all sqlInstances in a resource group.",
- "summary": "List sqlInstance resources in the resource group",
+ "operationId": "SqlManagedInstances_ListByResourceGroup",
+ "description": "Gets all sqlManagedInstances in a resource group.",
+ "summary": "List sqlManagedInstance resources in the resource group",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -630,7 +630,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SqlInstanceListResult"
+ "$ref": "#/definitions/SqlManagedInstanceListResult"
}
},
"default": {
@@ -645,18 +645,18 @@
},
"x-ms-examples": {
"Gets all SQL Instance in a resource group.": {
- "$ref": "./examples/ListByResourceGroupSqlInstance.json"
+ "$ref": "./examples/ListByResourceGroupSqlManagedInstance.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlInstances/{sqlInstanceName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/sqlManagedInstances/{sqlManagedInstanceName}": {
"get": {
"tags": [
- "SqlInstances"
+ "SqlManagedInstances"
],
- "operationId": "SqlInstances_Get",
- "description": "Retrieves a SQL Instance resource",
+ "operationId": "SqlManagedInstances_Get",
+ "description": "Retrieves a SQL Managed Instance resource",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -665,8 +665,8 @@
"$ref": "#/parameters/resourceGroupName"
},
{
- "name": "sqlInstanceName",
- "description": "Name of SQL Instance",
+ "name": "sqlManagedInstanceName",
+ "description": "Name of SQL Managed Instance",
"in": "path",
"required": true,
"type": "string",
@@ -680,7 +680,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SqlInstance"
+ "$ref": "#/definitions/SqlManagedInstance"
}
},
"default": {
@@ -692,16 +692,16 @@
},
"x-ms-examples": {
"Updates a SQL Instance tags.": {
- "$ref": "./examples/GetSqlInstance.json"
+ "$ref": "./examples/GetSqlManagedInstance.json"
}
}
},
"put": {
"tags": [
- "SqlInstances"
+ "SqlManagedInstances"
],
- "operationId": "SqlInstances_Create",
- "description": "Creates or replaces a SQL Instance resource",
+ "operationId": "SqlManagedInstances_Create",
+ "description": "Creates or replaces a SQL Managed Instance resource",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -710,8 +710,8 @@
"$ref": "#/parameters/resourceGroupName"
},
{
- "name": "sqlInstanceName",
- "description": "The name of SQL Instances",
+ "name": "sqlManagedInstanceName",
+ "description": "The name of SQL Managed Instances",
"in": "path",
"required": true,
"type": "string",
@@ -720,10 +720,10 @@
{
"name": "parameters",
"in": "body",
- "description": "The SQL Instance to be created or updated.",
+ "description": "The SQL Managed Instance to be created or updated.",
"required": true,
"schema": {
- "$ref": "#/definitions/SqlInstance"
+ "$ref": "#/definitions/SqlManagedInstance"
}
},
{
@@ -734,13 +734,13 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SqlInstance"
+ "$ref": "#/definitions/SqlManagedInstance"
}
},
"201": {
"description": "Created",
"schema": {
- "$ref": "#/definitions/SqlInstance"
+ "$ref": "#/definitions/SqlManagedInstance"
}
},
"default": {
@@ -751,17 +751,17 @@
}
},
"x-ms-examples": {
- "Updates a SQL Instance tags.": {
- "$ref": "./examples/CreateOrUpdateSqlInstance.json"
+ "Updates a SQL Managed Instance tags.": {
+ "$ref": "./examples/CreateOrUpdateSqlManagedInstance.json"
}
}
},
"delete": {
"tags": [
- "SqlInstances"
+ "SqlManagedInstances"
],
- "operationId": "SqlInstances_Delete",
- "description": "Deletes a SQL Instance resource",
+ "operationId": "SqlManagedInstances_Delete",
+ "description": "Deletes a SQL Managed Instance resource",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -770,8 +770,8 @@
"$ref": "#/parameters/resourceGroupName"
},
{
- "name": "sqlInstanceName",
- "description": "The name of Sql Instances",
+ "name": "sqlManagedInstanceName",
+ "description": "The name of Sql Managed Instances",
"in": "path",
"required": true,
"type": "string",
@@ -783,7 +783,7 @@
],
"responses": {
"200": {
- "description": "Successfully deleted the SQL Instance."
+ "description": "Successfully deleted the SQL Managed Instance."
},
"default": {
"description": "*** Error Responses: ***",
@@ -792,21 +792,21 @@
}
},
"204": {
- "description": "The specified SQL Instance does not exist."
+ "description": "The specified SQL Managed Instance does not exist."
}
},
"x-ms-examples": {
"Delete a SQL Instance.": {
- "$ref": "./examples/DeleteSqlInstance.json"
+ "$ref": "./examples/DeleteSqlManagedInstance.json"
}
}
},
"patch": {
"tags": [
- "SqlInstances"
+ "SqlManagedInstances"
],
- "operationId": "SqlInstances_Update",
- "description": "Updates a SQL Instance resource",
+ "operationId": "SqlManagedInstances_Update",
+ "description": "Updates a SQL Managed Instance resource",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -815,8 +815,8 @@
"$ref": "#/parameters/resourceGroupName"
},
{
- "name": "sqlInstanceName",
- "description": "Name of sqlInstance",
+ "name": "sqlManagedInstanceName",
+ "description": "Name of sqlManagedInstance",
"in": "path",
"required": true,
"type": "string",
@@ -825,10 +825,10 @@
{
"name": "parameters",
"in": "body",
- "description": "The SQL Instance.",
+ "description": "The SQL Managed Instance.",
"required": true,
"schema": {
- "$ref": "#/definitions/SqlInstanceUpdate"
+ "$ref": "#/definitions/SqlManagedInstanceUpdate"
}
},
{
@@ -839,7 +839,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/SqlInstance"
+ "$ref": "#/definitions/SqlManagedInstance"
}
},
"default": {
@@ -851,7 +851,7 @@
},
"x-ms-examples": {
"Updates a sql Instance tags.": {
- "$ref": "./examples/UpdateSqlInstance.json"
+ "$ref": "./examples/UpdateSqlManagedInstance.json"
}
}
}
@@ -1423,13 +1423,13 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/hybridDataManagers": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureData/dataControllers": {
"get": {
"tags": [
- "HybridDataManagers"
+ "DataControllers"
],
- "operationId": "HybridDataManagers_List",
- "summary": "List hybridDataManager resources in the subscription",
+ "operationId": "DataControllers_ListInSubscription",
+ "summary": "List dataController resources in the subscription",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1442,7 +1442,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/HybridDataManagerListResult"
+ "$ref": "#/definitions/PageOfDataControllerResource"
}
},
"default": {
@@ -1456,20 +1456,19 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "Gets all hybridDataManagers in a subscription.": {
- "$ref": "./examples/ListSubscriptionHybridDataManager.json"
+ "Gets all dataControllers in a subscription.": {
+ "$ref": "./examples/ListSubscriptionDataController.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/hybridDataManagers": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/dataControllers": {
"get": {
"tags": [
- "HybridDataManagers"
+ "DataControllers"
],
- "operationId": "HybridDataManagers_ListByResourceGroup",
- "summary": "List hybridDataManager resources in the resource group",
- "description": "Get a hybridDataManager list by Resource group name.",
+ "operationId": "DataControllers_ListInGroup",
+ "summary": "List dataController resources in the resource group",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1485,7 +1484,7 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/HybridDataManagerListResult"
+ "$ref": "#/definitions/PageOfDataControllerResource"
}
},
"default": {
@@ -1499,19 +1498,19 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "Gets all hybridDataManagers in a resource group.": {
- "$ref": "./examples/ListByResourceGroupHybridDataManager.json"
+ "Gets all dataControllers in a resource group.": {
+ "$ref": "./examples/ListByResourceGroupDataController.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/hybridDataManagers/{hybridDataManagerName}": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.AzureData/dataControllers/{dataControllerName}": {
"put": {
"tags": [
- "HybridDataManagers"
+ "DataControllers"
],
- "operationId": "HybridDataManagers_Create",
- "description": "Creates or replaces a hybridDataManager resource",
+ "operationId": "DataControllers_PutDataController",
+ "description": "Creates or replaces a dataController resource",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1520,8 +1519,16 @@
"$ref": "#/parameters/resourceGroupName"
},
{
- "name": "hybridDataManagerName",
- "description": "Name of HybridDataManagerName",
+ "name": "dataControllerResource",
+ "description": "desc",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ {
+ "name": "dataControllerName",
"in": "path",
"required": true,
"type": "string",
@@ -1535,28 +1542,34 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/HybridDataManager"
+ "$ref": "#/definitions/DataControllerResource"
}
},
"201": {
"description": "Created",
"schema": {
- "$ref": "#/definitions/HybridDataManager"
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
}
}
},
"x-ms-examples": {
- "Updates a hybridDataManager tags.": {
- "$ref": "./examples/CreateOrUpdateHybridDataManager.json"
+ "Updates a dataControllers tags.": {
+ "$ref": "./examples/CreateOrUpdateDataController.json"
}
}
},
"delete": {
"tags": [
- "HybridDataManagers"
+ "DataControllers"
],
- "operationId": "HybridDataManagers_Delete",
- "description": "Deletes a hybridDataManager resource",
+ "operationId": "DataControllers_DeleteDataController",
+ "description": "Deletes a dataController resource",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1565,8 +1578,7 @@
"$ref": "#/parameters/resourceGroupName"
},
{
- "name": "hybridDataManagerName",
- "description": "Name of HybridDataManager",
+ "name": "dataControllerName",
"in": "path",
"required": true,
"type": "string",
@@ -1578,7 +1590,7 @@
],
"responses": {
"200": {
- "description": "Successfully deleted the HybridDataManager."
+ "description": "Successfully deleted the DataController."
},
"default": {
"description": "*** Error Responses: ***",
@@ -1587,21 +1599,21 @@
}
},
"204": {
- "description": "The specified HybridDataManager does not exist."
+ "description": "The specified DataController does not exist."
}
},
"x-ms-examples": {
- "Delete a HybridDataManagers.": {
- "$ref": "./examples/DeleteHybridDataManager.json"
+ "Delete a dataController.": {
+ "$ref": "./examples/DeleteDataController.json"
}
}
},
"get": {
"tags": [
- "HybridDataManagers"
+ "DataControllers"
],
- "operationId": "HybridDataManagers_Get",
- "description": "Retrieves a hybridDataManager resource",
+ "operationId": "DataControllers_GetDataController",
+ "description": "Retrieves a dataController resource",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1610,8 +1622,7 @@
"$ref": "#/parameters/resourceGroupName"
},
{
- "name": "hybridDataManagerName",
- "description": "Name of HybridDataManager",
+ "name": "dataControllerName",
"in": "path",
"required": true,
"type": "string",
@@ -1625,22 +1636,28 @@
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/HybridDataManager"
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
}
}
},
"x-ms-examples": {
- "Updates a hybridDataManager tags.": {
- "$ref": "./examples/GetHybridDataManager.json"
+ "Get a data controller.": {
+ "$ref": "./examples/GetDataController.json"
}
}
},
"patch": {
"tags": [
- "HybridDataManagers"
+ "DataControllers"
],
- "operationId": "HybridDataManagers_Update",
- "description": "Updates a hybridDataManager resource",
+ "operationId": "DataControllers_PatchDataController",
+ "description": "Updates a dataController resource",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1649,37 +1666,42 @@
"$ref": "#/parameters/resourceGroupName"
},
{
- "name": "hybridDataManagerName",
- "description": "Name of HybridDataManager",
+ "name": "dataControllerName",
"in": "path",
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
},
{
- "name": "parameters",
- "in": "body",
- "description": "The HybridDataManager.",
+ "$ref": "#/parameters/apiVersion"
+ },
+ {
+ "name": "dataControllerResource",
+ "description": "The update data controller resource",
"required": true,
+ "in": "body",
"schema": {
- "$ref": "#/definitions/HybridDataManagerUpdate"
+ "$ref": "#/definitions/DataControllerUpdate"
}
- },
- {
- "$ref": "#/parameters/apiVersion"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
- "$ref": "#/definitions/HybridDataManager"
+ "$ref": "#/definitions/DataControllerResource"
+ }
+ },
+ "default": {
+ "description": "*** Error Responses: ***",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
}
}
},
"x-ms-examples": {
- "Updates a hybridDataManager tags.": {
- "$ref": "./examples/UpdateHybridDataManager.json"
+ "Updates a dataController tags.": {
+ "$ref": "./examples/UpdateDataController.json"
}
}
}
@@ -2015,6 +2037,10 @@
"create"
],
"description": "The geo-location where the resource lives"
+ },
+ "systemData": {
+ "$ref": "#/definitions/SystemData",
+ "readOnly": true
}
},
"required": [
@@ -2151,6 +2177,154 @@
}
}
},
+ "PageOfDataControllerResource": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "items": {
+ "$ref": "#/definitions/DataControllerResource"
+ },
+ "type": "array"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "Link to retrieve next page of results."
+ }
+ }
+ },
+ "DataControllerResource": {
+ "description": "Data controller resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DataControllerProperties",
+ "description": "The data controller's properties",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "DataControllerUpdate": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "Used for updating a data controller resource."
+ },
+ "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
+ }
+ },
+ "ResourceSku": {
+ "type": "object",
+ "properties": {
+ "capacity": {
+ "type": "integer",
+ "format": "int32"
+ },
+ "family": {
+ "type": "string"
+ },
+ "name": {
+ "type": "string"
+ },
+ "size": {
+ "type": "string"
+ },
+ "tier": {
+ "type": "string"
+ }
+ }
+ },
+ "DataControllerProperties": {
+ "description": "The data controller properties.",
+ "type": "object",
+ "properties": {
+ "onPremiseProperty": {
+ "$ref": "#/definitions/OnPremiseProperty"
+ }
+ },
+ "required": [
+ "onPremiseProperty"
+ ]
+ },
+ "OnPremiseProperty": {
+ "description": "Properties from the on premise data controller",
+ "type": "object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "format": "uuid",
+ "description": "A globally unique ID identifying the associated on premise cluster"
+ },
+ "publicSigningKey": {
+ "type": "string",
+ "description": "Certificate that contains the on premise 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"
+ ]
+ },
"PostgresInstanceProperties": {
"description": "Postgres Instance properties.",
"type": "object",
@@ -2214,18 +2388,38 @@
}
}
},
- "SqlInstanceProperties": {
- "description": "Properties of PostgresInstance.",
+ "SqlManagedInstanceProperties": {
+ "description": "Properties of sqlManagedInstance.",
"type": "object",
"properties": {
- "hybridDataManagerId": {
+ "dataControllerId": {
"type": "string",
"description": "null"
+ },
+ "instanceEndpoint": {
+ "type": "string",
+ "description": "The on premise instance endpoint"
+ },
+ "admin": {
+ "type": "string",
+ "description": "The instance admin user"
+ },
+ "startTime": {
+ "type": "string",
+ "description": "The instance start time"
+ },
+ "endTime": {
+ "type": "string",
+ "description": "The instance end time"
+ },
+ "vCore": {
+ "type": "string",
+ "description": "The instance vCore"
}
}
},
- "SqlInstance": {
- "description": "A SqlInstance.",
+ "SqlManagedInstance": {
+ "description": "A SqlManagedInstance.",
"type": "object",
"allOf": [
{
@@ -2234,14 +2428,14 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/SqlInstanceProperties",
+ "$ref": "#/definitions/SqlManagedInstanceProperties",
"description": "null",
"x-ms-client-flatten": true
}
}
},
- "SqlInstanceUpdate": {
- "description": "An update to a SQL Instance.",
+ "SqlManagedInstanceUpdate": {
+ "description": "An update to a SQL Managed Instance.",
"type": "object",
"properties": {
"tags": {
@@ -2253,15 +2447,15 @@
}
}
},
- "SqlInstanceListResult": {
- "description": "A list of SqlInstance.",
+ "SqlManagedInstanceListResult": {
+ "description": "A list of SqlManagedInstance.",
"type": "object",
"properties": {
"value": {
"description": "Array of results.",
"type": "array",
"items": {
- "$ref": "#/definitions/SqlInstance"
+ "$ref": "#/definitions/SqlManagedInstance"
},
"readOnly": true
},
@@ -2363,58 +2557,6 @@
}
}
},
- "HybridDataManagerProperties": {
- "description": "Hybrid data manager properties",
- "type": "object"
- },
- "HybridDataManager": {
- "description": "Hybrid data manager resource",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/TrackedResource"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/HybridDataManagerProperties",
- "description": "null",
- "x-ms-client-flatten": true
- }
- }
- },
- "HybridDataManagerUpdate": {
- "description": "An update to a HybridDataManager.",
- "type": "object",
- "properties": {
- "tags": {
- "description": "Resource tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- }
- }
- },
- "HybridDataManagerListResult": {
- "description": "A list of HybridDataManager.",
- "type": "object",
- "properties": {
- "value": {
- "description": "Array of results.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/HybridDataManager"
- },
- "readOnly": true
- },
- "nextLink": {
- "description": "Link to retrieve next page of results.",
- "type": "string",
- "readOnly": true
- }
- }
- },
"CloudError": {
"x-ms-external": true,
"properties": {
@@ -2555,9 +2697,9 @@
"type": "string",
"x-ms-parameter-location": "method"
},
- "SqlInstanceNameParameter": {
+ "SqlManagedInstanceNameParameter": {
"in": "path",
- "name": "sqlInstanceName",
+ "name": "sqlManagedInstanceName",
"description": "The name of the resource.",
"required": true,
"type": "string",
@@ -2570,14 +2712,6 @@
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
- },
- "HybridDataManagerNameParameter": {
- "in": "path",
- "name": "hybridDataManagerName",
- "description": "The name of the resource.",
- "required": true,
- "type": "string",
- "x-ms-parameter-location": "method"
}
},
"securityDefinitions": {
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateDataController.json
new file mode 100644
index 000000000000..74731c2ddcff
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateDataController.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2017-07-24",
+ "dataControllerResource": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey"
+ }
+ }
+ }
+ },
+ "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"
+ }
+ },
+ "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.AzureData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureData/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"
+ }
+ },
+ "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.AzureData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateHybridDataManager.json
deleted file mode 100644
index 34e7096538bb..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateHybridDataManager.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "hybridDataManagerName": "testhybridDataManager",
- "api-version": "2017-07-24",
- "parameters": {
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "properties": {}
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/hybridDataManager/testhybridDataManager",
- "name": "testhybridDataManager",
- "type": "Microsoft.AzureData/HybridDataManager"
- }
- },
- "201": {
- "body": {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/hybridDataManager/testhybridDataManager",
- "name": "testhybridDataManager",
- "type": "Microsoft.AzureData/HybridDataManager"
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdatePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdatePostgresInstance.json
index 097fd3b180a0..c9f3cbb98981 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdatePostgresInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdatePostgresInstance.json
@@ -17,6 +17,14 @@
"body": {
"properties": {},
"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"
},
@@ -29,6 +37,14 @@
"body": {
"properties": {},
"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"
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlInstance.json
deleted file mode 100644
index f7c281cc1050..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlInstance.json
+++ /dev/null
@@ -1,41 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "sqlInstanceName": "testsqlInstance",
- "api-version": "2017-07-24",
- "parameters": {
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "properties": {}
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/testsqlInstance",
- "name": "testsqlInstance",
- "type": "Microsoft.AzureData/SqlInstances"
- }
- },
- "201": {
- "body": {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/testsqlInstance",
- "name": "testsqlInstance",
- "type": "Microsoft.AzureData/SqlInstances"
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..9c207564ec59
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlManagedInstance.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2017-07-24",
+ "parameters": {
+ "location": "northeurope",
+ "tags": {
+ "mytag": "myval"
+ },
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "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.AzureData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "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.AzureData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json
index fff63fffd1b8..a14c9add6e6d 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/CreateOrUpdateSqlServerInstance.json
@@ -31,6 +31,14 @@
"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"
},
@@ -51,6 +59,14 @@
"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"
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteDataController.json
new file mode 100644
index 000000000000..386d1034d97c
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteDataController.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2017-07-24"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteHybridDataManager.json
deleted file mode 100644
index 351de7e6d66c..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteHybridDataManager.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "hybridDataManagerName": "testhybridDataManager",
- "api-version": "2017-07-24"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlInstance.json
deleted file mode 100644
index 90575fe29180..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlInstance.json
+++ /dev/null
@@ -1,12 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "sqlInstanceName": "testsqlInstance",
- "api-version": "2017-07-24"
- },
- "responses": {
- "200": {},
- "204": {}
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlManagedInstance.json
new file mode 100644
index 000000000000..9bfc6d45587d
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/DeleteSqlManagedInstance.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2017-07-24"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json
new file mode 100644
index 000000000000..8a13eb3d5b6e
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetDataController.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController",
+ "api-version": "2017-07-24"
+ },
+ "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"
+ }
+ },
+ "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.AzureData/dataControllers/testdataController",
+ "name": "testdataController",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetHybridDataManager.json
deleted file mode 100644
index 9219639c7e8d..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetHybridDataManager.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "hybridDataManagerName": "testhybridDataManager",
- "api-version": "2017-07-24"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybridDataManager/testhybridDataManager",
- "name": "testhybridDataManager",
- "type": "Microsoft.AzureData/HybridDataManager"
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetPostgresInstance.json
index 5e6f13214fb1..11e754ce1bd2 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetPostgresInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetPostgresInstance.json
@@ -10,6 +10,14 @@
"body": {
"properties": {},
"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"
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlInstance.json
deleted file mode 100644
index 232173e7724f..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlInstance.json
+++ /dev/null
@@ -1,22 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "sqlInstanceName": "testsqlInstance",
- "api-version": "2017-07-24"
- },
- "responses": {
- "200": {
- "body": {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/testsqlInstance",
- "name": "testsqlInstance",
- "type": "Microsoft.AzureData/SqlInstance"
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json
new file mode 100644
index 000000000000..af96057ccab0
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlManagedInstance.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2017-07-24"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "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.AzureData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureData/sqlManagedInstance"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json
index b45f1e0e3995..02bef61fa29c 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/GetSqlServerInstance.json
@@ -18,6 +18,14 @@
"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"
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json
new file mode 100644
index 000000000000..797b1fb81a31
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupDataController.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2017-07-24"
+ },
+ "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"
+ }
+ },
+ "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.AzureData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
+ "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.AzureData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupHybridDataManager.json
deleted file mode 100644
index 67ad06ab5ced..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupHybridDataManager.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "api-version": "2017-07-24"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager1",
- "name": "testhybirdDataManager1",
- "type": "Microsoft.AzureData/HybirdDataManager"
- },
- {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager2",
- "name": "testhybirdDataManager2",
- "type": "Microsoft.AzureData/HybirdDataManager"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupPostgresInstance.json
index 98b752d055c4..6fedd5954dfc 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupPostgresInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupPostgresInstance.json
@@ -11,6 +11,14 @@
{
"properties": {},
"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"
},
@@ -21,6 +29,14 @@
{
"properties": {},
"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"
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlInstance.json
deleted file mode 100644
index f1e70c820ef6..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlInstance.json
+++ /dev/null
@@ -1,35 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "api-version": "2017-07-24"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/sqlInstance1",
- "name": "sqlInstances1",
- "type": "Microsoft.AzureData/SqlInstance"
- },
- {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/sqlInstance2",
- "name": "sqlInstances2",
- "type": "Microsoft.AzureData/SqlInstance"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json
new file mode 100644
index 000000000000..bb31e438e35a
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlManagedInstance.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "api-version": "2017-07-24"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "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.AzureData/sqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "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.AzureData/sqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json
index 67ea60097317..0d50ea9bf3f9 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListByResourceGroupSqlServerInstance.json
@@ -19,6 +19,14 @@
"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"
},
@@ -37,6 +45,14 @@
"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"
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json
new file mode 100644
index 000000000000..a81869dfea05
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionDataController.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2017-07-24"
+ },
+ "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"
+ }
+ },
+ "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.AzureData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureData/dataControllers"
+ },
+ {
+ "properties": {
+ "onPremiseProperty": {
+ "id": "12345678-1234-1234-ab12-1a2b3c4d5e6f",
+ "publicSigningKey": "publicOnPremSigningKey",
+ "signingCertificateThumbprint": "Unique thumbprint returned to customer to verify the certificate they uploaded"
+ }
+ },
+ "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.AzureData/dataControllers/testdataController2",
+ "name": "testdataController2",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionHybridDataManager.json
deleted file mode 100644
index 0a1dd3aaf4c1..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionHybridDataManager.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "api-version": "2017-07-24"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager1",
- "name": "testhybirdDataManager1",
- "type": "Microsoft.AzureData/HybirdDataManager"
- },
- {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager2",
- "name": "testhybirdDataManager2",
- "type": "Microsoft.AzureData/HybirdDataManager"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionPostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionPostgresInstance.json
index 610eed7fe862..bd8e2e231a20 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionPostgresInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionPostgresInstance.json
@@ -10,6 +10,14 @@
{
"properties": {},
"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"
},
@@ -20,6 +28,14 @@
{
"properties": {},
"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"
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlIInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlIInstance.json
deleted file mode 100644
index 1305f494cd38..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlIInstance.json
+++ /dev/null
@@ -1,34 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "api-version": "2017-07-24"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/sqlInstance1",
- "name": "sqlInstances1",
- "type": "Microsoft.AzureData/SqlInstance"
- },
- {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/sqlInstance2",
- "name": "sqlInstances2",
- "type": "Microsoft.AzureData/SqlInstance"
- }
- ]
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json
new file mode 100644
index 000000000000..65f4485aebd5
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlManagedInstance.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "api-version": "2017-07-24"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "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.AzureData/SqlManagedInstances/sqlManagedInstance1",
+ "name": "sqlManagedInstances1",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ },
+ {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "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.AzureData/SqlManagedInstances/sqlManagedInstance2",
+ "name": "sqlManagedInstances2",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json
index 9b8da63326af..4caeed41a65b 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/ListSubscriptionSqlServerInstance.json
@@ -18,6 +18,14 @@
"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"
},
@@ -36,6 +44,14 @@
"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"
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json
new file mode 100644
index 000000000000..c6dc5166499a
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateDataController.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "dataControllerName": "testdataController1",
+ "api-version": "2019-07-24",
+ "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"
+ }
+ },
+ "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.AzureData/dataControllers/testdataController1",
+ "name": "testdataController1",
+ "type": "Microsoft.AzureData/dataControllers"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateHybridDataManager.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateHybridDataManager.json
deleted file mode 100644
index 2ef5ef8d2110..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateHybridDataManager.json
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "hybridDataManagerName": "testhybirdDataManager1",
- "api-version": "2019-07-24",
- "parameters": {
- "tags": {
- "mytag": "myval"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {},
- "location": "northeurope",
- "tags": {
- "mytag": "myval"
- },
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/HybirdDataManager/testhybirdDataManager1",
- "name": "testhybirdDataManager1",
- "type": "Microsoft.AzureData/HybirdDataManager"
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdatePostgresInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdatePostgresInstance.json
index a3ce6886c8a0..a2f30ef71877 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdatePostgresInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdatePostgresInstance.json
@@ -15,6 +15,14 @@
"body": {
"properties": {},
"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"
},
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlInstance.json
deleted file mode 100644
index d3b432528e56..000000000000
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlInstance.json
+++ /dev/null
@@ -1,24 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "00000000-1111-2222-3333-444444444444",
- "resourceGroupName": "testrg",
- "sqlInstanceName": "testsqlInstance",
- "api-version": "2017-07-24",
- "parameters": {
- "tags": {
- "mytag": "myval"
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "properties": {},
- "location": "northeurope",
- "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlInstances/testsqlInstance",
- "name": "testsqlInstance",
- "type": "Microsoft.AzureData/SqlInstances"
- }
- }
- }
-}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json
new file mode 100644
index 000000000000..11144061214c
--- /dev/null
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlManagedInstance.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "testrg",
+ "sqlManagedInstanceName": "testsqlManagedInstance",
+ "api-version": "2017-07-24",
+ "parameters": {
+ "tags": {
+ "mytag": "myval"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "instanceEndpoint": "The on premise instance endpoint",
+ "admin": "Admin user",
+ "startTime": "Instance start time",
+ "endTime": "Instance end time"
+ },
+ "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"
+ },
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/sqlManagedInstances/testsqlManagedInstance",
+ "name": "testsqlManagedInstance",
+ "type": "Microsoft.AzureData/sqlManagedInstances"
+ }
+ }
+ }
+}
diff --git a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json
index 54206a23fdda..38fad094b693 100644
--- a/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json
+++ b/specification/azuredata/resource-manager/Microsoft.AzureData/preview/2019-07-24-preview/examples/UpdateSqlServerInstance.json
@@ -23,6 +23,14 @@
"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"
+ },
"id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/testrg/providers/Microsoft.AzureData/SqlServerInstances/testsqlServerInstance",
"name": "testsqlServerInstance",
"type": "Microsoft.AzureData/SqlServerInstances"
diff --git a/specification/azuredata/resource-manager/readme.azureresourceschema.md b/specification/azuredata/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..9e9e3a071f7d
--- /dev/null
+++ b/specification/azuredata/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-azuredata-2019-07-24-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-azuredata-2019-07-24-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-azuredata-2019-07-24-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureData/preview/2019-07-24-preview/azuredata.json
+
+```
diff --git a/specification/azuredata/resource-manager/readme.md b/specification/azuredata/resource-manager/readme.md
index 4ecacc7c3f4c..457d75830ec9 100644
--- a/specification/azuredata/resource-manager/readme.md
+++ b/specification/azuredata/resource-manager/readme.md
@@ -66,6 +66,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_azuredata']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azuredata/resource-manager
```
## Go
@@ -88,6 +91,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json
index 62f2bd69c0b0..1216c20372ad 100644
--- a/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json
+++ b/specification/azurestack/resource-manager/Microsoft.AzureStack/stable/2017-06-01/Registration.json
@@ -348,7 +348,11 @@
"read"
]
}
- }
+ },
+ "required": [
+ "properties",
+ "location"
+ ]
},
"RegistrationParameterProperties": {
"description": "Properties of the Azure Stack registration resource",
diff --git a/specification/azurestack/resource-manager/readme.azureresourceschema.md b/specification/azurestack/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..1216d57dd7c8
--- /dev/null
+++ b/specification/azurestack/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,27 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-azurestack-2017-06-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-azurestack-2017-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-azurestack-2017-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureStack/stable/2017-06-01/AzureStack.json
+ - Microsoft.AzureStack/stable/2017-06-01/Product.json
+ - Microsoft.AzureStack/stable/2017-06-01/Registration.json
+ - Microsoft.AzureStack/stable/2017-06-01/CustomerSubscription.json
+
+```
diff --git a/specification/azurestack/resource-manager/readme.md b/specification/azurestack/resource-manager/readme.md
index d31ec1ce03e3..dc231df47dea 100644
--- a/specification/azurestack/resource-manager/readme.md
+++ b/specification/azurestack/resource-manager/readme.md
@@ -75,6 +75,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azurestack/resource-manager
```
## C#
@@ -136,6 +139,10 @@ generate-interface: true
See configuration in [readme.python.md](./readme.python.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
new file mode 100644
index 000000000000..de3d90772ef0
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
@@ -0,0 +1,614 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-03-01-preview",
+ "title": "AzureStackHCI",
+ "description": "Azure Stack HCI management service"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.AzureStackHCI/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "List all available Microsoft.AzureStackHCI provider operations",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.AzureStackHCI/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_List",
+ "x-ms-examples": {
+ "ListClusters": {
+ "$ref": "./examples/ListClusters.json"
+ }
+ },
+ "description": "List all HCI clusters in a subscription.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClusterList"
+ }
+ },
+ "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.AzureStackHCI/clusters": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_ListByResourceGroup",
+ "x-ms-examples": {
+ "ListClusters": {
+ "$ref": "./examples/ListClustersByResourceGroup.json"
+ }
+ },
+ "description": "List all HCI clusters in a resource group.",
+ "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"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ClusterList"
+ }
+ },
+ "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.AzureStackHCI/clusters/{clusterName}": {
+ "get": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Get",
+ "x-ms-examples": {
+ "GetClusters": {
+ "$ref": "./examples/GetCluster.json"
+ }
+ },
+ "description": "Get HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Create",
+ "x-ms-examples": {
+ "GetClusters": {
+ "$ref": "./examples/CreateCluster.json"
+ }
+ },
+ "description": "Create an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "cluster",
+ "in": "body",
+ "description": "Details of the HCI cluster.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Update",
+ "x-ms-examples": {
+ "GetClusters": {
+ "$ref": "./examples/UpdateCluster.json"
+ }
+ },
+ "description": "Update an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "cluster",
+ "in": "body",
+ "description": "Details of the HCI cluster.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ClusterUpdate"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_Delete",
+ "x-ms-examples": {
+ "GetClusters": {
+ "$ref": "./examples/DeleteCluster.json"
+ }
+ },
+ "description": "Delete an HCI cluster.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../../../common-types/resource-management/v2/types.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ClusterList": {
+ "description": "List of clusters.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of clusters.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Cluster"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Cluster": {
+ "description": "Cluster details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "Cluster properties.",
+ "$ref": "#/definitions/ClusterProperties",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ClusterProperties": {
+ "description": "Cluster properties.",
+ "type": "object",
+ "required": [
+ "aadClientId",
+ "aadTenantId"
+ ],
+ "properties": {
+ "provisioningState": {
+ "description": "Provisioning state.",
+ "type": "string",
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Accepted",
+ "Provisioning"
+ ],
+ "x-ms-enum": {
+ "name": "ProvisioningState",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "status": {
+ "description": "Status of the cluster agent.",
+ "type": "string",
+ "enum": [
+ "NotYetRegistered",
+ "ConnectedRecently",
+ "NotConnectedRecently",
+ "Disconnected",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ },
+ "readOnly": true
+ },
+ "cloudId": {
+ "description": "Unique, immutable resource id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadClientId": {
+ "description": "App id of cluster AAD identity.",
+ "type": "string"
+ },
+ "aadTenantId": {
+ "description": "Tenant id of cluster AAD identity.",
+ "type": "string"
+ },
+ "reportedProperties": {
+ "description": "Properties reported by cluster agent.",
+ "$ref": "#/definitions/ClusterReportedProperties"
+ },
+ "trialDaysRemaining": {
+ "description": "Number of days remaining in the trial period.",
+ "type": "number",
+ "readOnly": true
+ },
+ "billingModel": {
+ "description": "Type of billing applied to the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "registrationTimestamp": {
+ "description": "First cluster sync timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "lastSyncTimestamp": {
+ "description": "Most recent cluster sync timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "lastBillingTimestamp": {
+ "description": "Most recent billing meter timestamp.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterReportedProperties": {
+ "description": "Properties reported by cluster agent.",
+ "type": "object",
+ "properties": {
+ "clusterName": {
+ "description": "Name of the on-prem cluster connected to this resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clusterId": {
+ "description": "Unique id generated by the on-prem cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "clusterVersion": {
+ "description": "Version of the cluster software.",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodes": {
+ "description": "List of nodes reported by the cluster.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClusterNode"
+ },
+ "readOnly": true
+ },
+ "lastUpdated": {
+ "description": "Last time the cluster reported the data.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterNode": {
+ "description": "Cluster node details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the node in the cluster.",
+ "type": "number",
+ "readOnly": true
+ },
+ "manufacturer": {
+ "description": "Manufacturer of the cluster node hardware.",
+ "type": "string",
+ "readOnly": true
+ },
+ "model": {
+ "description": "Model name of the cluster node hardware.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osName": {
+ "description": "Operating system running on the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "osVersion": {
+ "description": "Version of the operating system running on the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "serialNumber": {
+ "description": "Immutable id of the cluster node.",
+ "type": "string",
+ "readOnly": true
+ },
+ "coreCount": {
+ "description": "Number of physical cores on the cluster node.",
+ "type": "number",
+ "readOnly": true
+ },
+ "memoryInGiB": {
+ "description": "Total available memory on the cluster node (in GiB).",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "ClusterUpdate": {
+ "description": "Cluster details to update.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "Resource tags.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "OperationList": {
+ "description": "List of available operations.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation details.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Operation properties."
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Resource provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource type name.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation name.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Operation description.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the cluster.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json
new file mode 100644
index 000000000000..3c3f911432ac
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/CreateCluster.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2020-03-01-preview",
+ "cluster": {
+ "location": "East US",
+ "properties": {
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {},
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/DeleteCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/DeleteCluster.json
new file mode 100644
index 000000000000..80dae357754c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/DeleteCluster.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json
new file mode 100644
index 000000000000..6e67c668fa20
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/GetCluster.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 1,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node2",
+ "id": 2,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node3",
+ "id": 3,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json
new file mode 100644
index 000000000000..8d9243f940fc
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClusters.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg1/providers/Microsoft.AzureStackHCI/clusters/myCluster1",
+ "name": "myCluster1",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {},
+ "trialDaysRemaining": 29,
+ "billingModel": "Trial"
+ }
+ },
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg2/providers/Microsoft.AzureStackHCI/clusters/myCluster2",
+ "name": "myCluster2",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 0,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node2",
+ "id": 1,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node3",
+ "id": 2,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json
new file mode 100644
index 000000000000..07d9c1e094d5
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/ListClustersByResourceGroup.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "api-version": "2020-03-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster1",
+ "name": "myCluster1",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "NotYetRegistered",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {},
+ "trialDaysRemaining": 29,
+ "billingModel": "Trial"
+ }
+ },
+ {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster2",
+ "name": "myCluster2",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "a3c0468f-e38e-4dda-ac48-817f620536f0",
+ "aadClientId": "24a6e53d-04e5-44d2-b7cc-1b732a847dfc",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 0,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node2",
+ "id": 1,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node3",
+ "id": 2,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json
new file mode 100644
index 000000000000..b3937caf37bd
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/Microsoft.AzureStackHCI/preview/2020-03-01-preview/examples/UpdateCluster.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "fd3c3665-1729-4b7b-9a38-238e83b0f98b",
+ "resourceGroupName": "test-rg",
+ "clusterName": "myCluster",
+ "api-version": "2020-03-01-preview",
+ "cluster": {
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/fd3c3665-1729-4b7b-9a38-238e83b0f98b/resourceGroups/test-rg/providers/Microsoft.AzureStackHCI/clusters/myCluster",
+ "name": "myCluster",
+ "type": "Microsoft.AzureStackHCI/clusters",
+ "location": "East US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded",
+ "status": "ConnectedRecently",
+ "cloudId": "91c2b355-4826-4e96-9164-e3f26dcf1cdd",
+ "aadClientId": "515da1c2-379e-49b4-9975-09e3e40c86be",
+ "aadTenantId": "7e589cc1-a8b6-4dff-91bd-5ec0fa18db94",
+ "reportedProperties": {
+ "clusterName": "cluster1",
+ "clusterId": "a76ac23a-1819-4e82-9410-e3e4ec3d1425",
+ "clusterVersion": "10.0.17777",
+ "nodes": [
+ {
+ "name": "Node1",
+ "id": 1,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q45CZC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node2",
+ "id": 2,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44BSC3",
+ "coreCount": 8,
+ "memoryInGiB": 128
+ },
+ {
+ "name": "Node3",
+ "id": 3,
+ "manufacturer": "Dell Inc.",
+ "model": "EMC AX740",
+ "osName": "Azure Stack HCI",
+ "osVersion": "10.0.17777.1061",
+ "serialNumber": "Q44RFC3",
+ "coreCount": 16,
+ "memoryInGiB": 256
+ }
+ ],
+ "lastUpdated": "2020-03-11T19:24:42.1946017Z"
+ },
+ "trialDaysRemaining": 30,
+ "billingModel": "Trial",
+ "registrationTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastSyncTimestamp": "2020-03-11T20:44:32.5625121Z",
+ "lastBillingTimestamp": "2020-03-12T08:12:55.2312022Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/azurestackhci/resource-manager/readme.azureresourceschema.md b/specification/azurestackhci/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..2525a859d162
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-azurestackhci-2020-03-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-azurestackhci-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-azurestackhci-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
+
+```
diff --git a/specification/azurestackhci/resource-manager/readme.csharp.md b/specification/azurestackhci/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..3378b525db6e
--- /dev/null
+++ b/specification/azurestackhci/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.AzureStackHCI
+ output-folder: $(csharp-sdks-folder)/azurestackhci/Microsoft.Azure.Management.AzureStackHCI/src/Generated
+```
diff --git a/specification/azurestackhci/resource-manager/readme.go.md b/specification/azurestackhci/resource-manager/readme.go.md
new file mode 100644
index 000000000000..fddd0e002a49
--- /dev/null
+++ b/specification/azurestackhci/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
+```
+
+### Go multi-api
+
+```yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-03-01-preview
+```
+
+### Tag: package-2020-03-01-preview and go
+
+These settings apply only when `--tag=package-2020-03-01-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-03-01-preview' && $(go)
+namespace: azurestackhci
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-03-01-preview/$(namespace)
+```
diff --git a/specification/azurestackhci/resource-manager/readme.md b/specification/azurestackhci/resource-manager/readme.md
new file mode 100644
index 000000000000..ee213486dda1
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/readme.md
@@ -0,0 +1,122 @@
+# azurestackhci
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for azurestackhci.
+
+## 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 azurestackhci.
+
+```yaml
+title: AzureStackHCIClient
+description: Azure Stack HCI management service
+openapi-type: arm
+tag: package-2020-03-01-preview
+```
+
+## Suppression
+
+```yaml
+directive:
+ - suppress: R3020
+ from: azurestackhci.json
+ reason: Microsoft.AzureStackHCI is the correct name for our RP.
+```
+
+### Tag: package-2020-03-01-preview
+
+These settings apply only when `--tag=package-2020-03-01-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-03-01-preview'
+input-file:
+ - Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_azurestackhci']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js azurestackhci/resource-manager
+```
+
+## 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)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.AzureStackHCI/preview/2020-03-01-preview/azurestackhci.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/azurestackhci/resource-manager/readme.python.md b/specification/azurestackhci/resource-manager/readme.python.md
new file mode 100644
index 000000000000..af60fd690f3c
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/readme.python.md
@@ -0,0 +1,26 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+```yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.azurestackhci
+ package-name: azure-mgmt-azurestackhci
+ package-version: 1.0.0rc1
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci/azure/mgmt/azurestackhci
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azurestackhci/azure-mgmt-azurestackhci
+```
diff --git a/specification/azurestackhci/resource-manager/readme.ruby.md b/specification/azurestackhci/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..ae5a9af3f8d7
--- /dev/null
+++ b/specification/azurestackhci/resource-manager/readme.ruby.md
@@ -0,0 +1,19 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+```yaml
+package-name: azure_mgmt_azurestackhci
+package-version: 2020-03-01-preview
+azure-arm: true
+```
+
+### Tag: package-2020-03-01-preview and ruby
+
+These settings apply only when `--tag=package-2020-03-01-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-03-01-preview' && $(ruby)
+namespace: Microsoft.AzureStackHCI
+output-folder: $(ruby-sdks-folder)/azurestackhci
+```
diff --git a/specification/azurestackhci/resource-manager/readme.typescript.md b/specification/azurestackhci/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..f7aa58d14c19
--- /dev/null
+++ b/specification/azurestackhci/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-azurestackhci"
+ output-folder: "$(typescript-sdks-folder)/sdk/azurestackhci/arm-azurestackhci"
+ payload-flattening-threshold: 1
+ clear-output-folder: true
+ generate-metadata: true
+```
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
new file mode 100644
index 000000000000..7e70ac58553f
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json
@@ -0,0 +1,835 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-08-06-preview",
+ "title": "bareMetalInfrastructureClient",
+ "description": "The BareMetalInfrastructure Management 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.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/start": {
+ "post": {
+ "description": "The operation to start an AzureBareMetal instance",
+ "operationId": "AzureBareMetalInstances_Start",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_Start.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/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/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/restart": {
+ "post": {
+ "description": "The operation to restart an AzureBareMetal instance",
+ "operationId": "AzureBareMetalInstances_Restart",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Restart an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_Restart.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/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/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}/shutdown": {
+ "post": {
+ "description": "The operation to shutdown an AzureBareMetal instance",
+ "operationId": "AzureBareMetalInstances_Shutdown",
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Shutdown an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_Shutdown.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/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/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances": {
+ "get": {
+ "tags": [
+ "BareMetalInfrastructure"
+ ],
+ "operationId": "AzureBareMetalInstances_ListBySubscription",
+ "summary": "Gets a list of Azure BareMetal instances in the specified subscription.",
+ "description": "Gets a list of AzureBareMetal instances in the specified subscription. The operations returns various properties of each Azure BareMetal instance.",
+ "x-ms-examples": {
+ "List all AzureBareMetal instances in a subscription": {
+ "$ref": "./examples/AzureBareMetalInstances_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": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBareMetalInstancesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances": {
+ "get": {
+ "operationId": "AzureBareMetalInstances_List",
+ "description": "Gets a list of AzureBareMetal instances in the specified subscription and resource group",
+ "x-ms-examples": {
+ "List all AzureBareMetal instances in a resource group": {
+ "$ref": "./examples/AzureBareMetalInstances_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"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBareMetalInstancesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.BareMetalInfrastructure/operations": {
+ "get": {
+ "tags": [
+ "AzureBareMetal"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "List all management operations supported by the AzureBareMetal RP": {
+ "$ref": "./examples/AzureBareMetalOperations_List.json"
+ }
+ },
+ "description": "Gets a list of AzureBareMetal management operations.",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/{azureBareMetalInstanceName}": {
+ "get": {
+ "tags": [
+ "BareMetalInfrastructure"
+ ],
+ "operationId": "AzureBareMetalInstances_Get",
+ "summary": "Gets an Azure BareMetal instance.",
+ "description": "Gets an Azure BareMetal instance for the specified subscription, resource group, and instance name.",
+ "x-ms-examples": {
+ "Get an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_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/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBareMetalInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BareMetalInfrastructure"
+ ],
+ "operationId": "AzureBareMetalInstances_Delete",
+ "x-ms-long-running-operation": true,
+ "summary": "Deletes a Azure BareMetal instance.",
+ "description": "Deletes a Azure BareMetal instance with the specified subscription, resource group, and instance name.",
+ "x-ms-examples": {
+ "Delete an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_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/AzureBareMetalInstanceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Deleted AzureBareMetalInstance"
+ },
+ "202": {
+ "description": "Deleting AzureBareMetalInstance"
+ },
+ "204": {
+ "description": "No AzureBareMetalInstance to delete"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BareMetalInfrastructure"
+ ],
+ "operationId": "AzureBareMetalInstances_Update",
+ "summary": "Patches the Tags field of a Azure BareMetal instance.",
+ "description": "Patches the Tags field of a Azure BareMetal instance for the specified subscription, resource group, and instance name.",
+ "x-ms-examples": {
+ "Update Tags field of an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_PatchTags.json"
+ },
+ "Delete Tags field of an AzureBareMetal instance": {
+ "$ref": "./examples/AzureBareMetalInstances_PatchTags_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/AzureBareMetalInstanceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/TagsParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AzureBareMetalInstance"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "AzureBareMetalInstancesListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AzureBareMetalInstance"
+ },
+ "description": "The list of Azure BareMetal instances."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of AzureBareMetal instances."
+ }
+ },
+ "description": "The response from the List AzureBareMetal Instances operation."
+ },
+ "AzureBareMetalInstance": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzureBareMetalInstanceProperties",
+ "description": "AzureBareMetal instance properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "AzureBareMetal instance info on Azure (ARM properties and AzureBareMetal properties)"
+ },
+ "AzureBareMetalInstanceProperties": {
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Specifies the hardware settings for the AzureBareMetal instance."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Specifies the storage settings for the AzureBareMetal instance disks."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings for the AzureBareMetal instance."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Specifies the network settings for the AzureBareMetal instance."
+ },
+ "azureBareMetalInstanceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the AzureBareMetal instance unique ID."
+ },
+ "powerState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "starting",
+ "started",
+ "stopping",
+ "stopped",
+ "restarting",
+ "unknown"
+ ],
+ "x-ms-enum": {
+ "name": "AzureBareMetalInstancePowerStateEnum",
+ "modelAsString": true
+ },
+ "description": "Resource power state"
+ },
+ "proximityPlacementGroup": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource proximity placement group"
+ },
+ "hwRevision": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Hardware revision of an AzureBareMetal instance"
+ },
+ "partnerNodeId": {
+ "type": "string",
+ "description": "ARM ID of another AzureBareMetalInstance that will share a network with this AzureBareMetalInstance"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Accepted",
+ "Creating",
+ "Updating",
+ "Failed",
+ "Succeeded",
+ "Deleting",
+ "Migrating"
+ ],
+ "x-ms-enum": {
+ "name": "AzureBareMetalProvisioningStatesEnum",
+ "modelAsString": true
+ },
+ "description": "State of provisioning of the AzureBareMetalInstance"
+ }
+ },
+ "description": "Describes the properties of an AzureBareMetal instance."
+ },
+ "HardwareProfile": {
+ "properties": {
+ "hardwareType": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "Cisco_UCS",
+ "HPE"
+ ],
+ "x-ms-enum": {
+ "name": "AzureBareMetalHardwareTypeNamesEnum",
+ "modelAsString": true
+ },
+ "description": "Name of the hardware type (vendor and/or their product name)"
+ },
+ "azureBareMetalInstanceSize": {
+ "readOnly": true,
+ "type": "string",
+ "enum": [
+ "S72m",
+ "S144m",
+ "S72",
+ "S144",
+ "S192",
+ "S192m",
+ "S192xm",
+ "S96",
+ "S112",
+ "S224",
+ "S224m",
+ "S224om",
+ "S224oo",
+ "S224oom",
+ "S224ooo",
+ "S384",
+ "S384m",
+ "S384xm",
+ "S384xxm",
+ "S448",
+ "S448m",
+ "S448om",
+ "S448oo",
+ "S448oom",
+ "S448ooo",
+ "S576m",
+ "S576xm",
+ "S672",
+ "S672m",
+ "S672om",
+ "S672oo",
+ "S672oom",
+ "S672ooo",
+ "S768",
+ "S768m",
+ "S768xm",
+ "S896",
+ "S896m",
+ "S896om",
+ "S896oo",
+ "S896oom",
+ "S896ooo",
+ "S960m"
+ ],
+ "x-ms-enum": {
+ "name": "azureBareMetalInstanceSizeNamesEnum",
+ "modelAsString": true
+ },
+ "description": "Specifies the AzureBareMetal instance SKU."
+ }
+ },
+ "description": "Specifies the hardware settings for the AzureBareMetal instance."
+ },
+ "Disk": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes."
+ },
+ "lun": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ }
+ },
+ "description": "Specifies the disk information fo the AzureBareMetal instance"
+ },
+ "StorageProfile": {
+ "properties": {
+ "nfsIpAddress": {
+ "readOnly": true,
+ "type": "string",
+ "description": "IP Address to connect to storage."
+ },
+ "osDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "Specifies information about the operating system disk used by baremetal instance."
+ }
+ },
+ "description": "Specifies the storage settings for the AzureBareMetal instance disks."
+ },
+ "OSProfile": {
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "description": "Specifies the host OS name of the AzureBareMetal instance."
+ },
+ "osType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS."
+ },
+ "version": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies version of operating system."
+ },
+ "sshPublicKey": {
+ "type": "string",
+ "description": "Specifies the SSH public key used to access the operating system."
+ }
+ },
+ "description": "Specifies the operating system settings for the AzureBareMetal instance."
+ },
+ "NetworkProfile": {
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpAddress"
+ },
+ "description": "Specifies the network interfaces for the AzureBareMetal instance."
+ },
+ "circuitId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the circuit id for connecting to express route."
+ }
+ },
+ "description": "Specifies the network settings for the AzureBareMetal instance disks."
+ },
+ "IpAddress": {
+ "properties": {
+ "ipAddress": {
+ "type": "string",
+ "description": "Specifies the IP address of the network interface."
+ }
+ },
+ "description": "Specifies the IP address of the network interface."
+ },
+ "OperationList": {
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "List of AzureBareMetal operations"
+ }
+ },
+ "description": "List of AzureBareMetal operations"
+ },
+ "Operation": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the operation being performed on this particular object. This name should match the action name that appears in RBAC / the event service."
+ },
+ "display": {
+ "$ref": "#/definitions/Display",
+ "description": "Displayed AzureBareMetal operation information"
+ },
+ "isDataAction": {
+ "description": "indicates whether an operation is a data action or not.",
+ "type": "boolean"
+ }
+ },
+ "description": "AzureBareMetal operation information"
+ },
+ "Result": {
+ "description": "Sample result definition",
+ "properties": {
+ "sampleProperty": {
+ "type": "string",
+ "description": "Sample property of type string"
+ }
+ }
+ },
+ "Display": {
+ "type": "object",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource provider name. This form is also expected to include the publisher/company responsible. Use Title Casing. Begin with \"Microsoft\" for 1st party services."
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly form of the resource type related to this action/operation. This form should match the public documentation for the resource provider. Use Title Casing. For examples, refer to the “name” section."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly name for the operation as shown to the user. This name should be concise (to fit in drop downs), but clear (self-documenting). Use Title Casing and include the entity/resource to which it applies."
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized friendly description for the operation as shown to the user. This description should be thorough, yet concise. It will be used in tool-tips and detailed views."
+ },
+ "origin": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The intended executor of the operation; governs the display of the operation in the RBAC UX and the audit logs UX. Default value is 'user,system'"
+ }
+ },
+ "description": "Detailed BareMetal operation information"
+ },
+ "ErrorResponse": {
+ "description": "Error response.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDefinition",
+ "description": "The error details."
+ }
+ }
+ },
+ "ErrorDefinition": {
+ "description": "Error definition.",
+ "properties": {
+ "code": {
+ "description": "Service specific error code which serves as the substatus for the HTTP error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Description of the error.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "Internal error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDefinition"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Tags": {
+ "type": "object",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Tags field of the AzureBareMetal instance."
+ }
+ },
+ "description": "Tags field of the AzureBareMetal instance."
+ }
+ },
+ "parameters": {
+ "AzureBareMetalInstanceNameParameter": {
+ "name": "azureBareMetalInstanceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the Azure BareMetal on Azure instance.",
+ "x-ms-parameter-location": "method"
+ },
+ "TagsParameter": {
+ "name": "tagsParameter",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Tags"
+ },
+ "description": "Request body that only contains the new Tags field",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json
new file mode 100644
index 000000000000..f4506a990d9a
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Delete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myAzureBareMetalInstance"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json
new file mode 100644
index 000000000000..0429abd084e6
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Get.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myAzureBareMetalInstance"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance",
+ "location": "westus2",
+ "name": "myAzureBareMetalInstance",
+ "tags": {
+ "key": "value"
+ },
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "properties": {
+ "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a",
+ "powerState": "restarting",
+ "hwRevision": "Rev 4.2",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "123.123.123.123"
+ }
+ ],
+ "circuitId": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "123.123.119.123"
+ },
+ "osProfile": {
+ "computerName": "myComputerName",
+ "osType": "SLES 12 SP2",
+ "version": "12 SP2"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json
new file mode 100644
index 000000000000..9c82f4fd729f
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_List.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance1",
+ "name": "myABMInstance1",
+ "type": "Microsoft.BareMetalInfrastructure/azureBareMetalInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.100"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.200"
+ },
+ "osProfile": {
+ "computerName": "myComputerName1",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance2",
+ "name": "myABMInstance2",
+ "type": "Microsoft.BareMetalInfrastructure/azureBareMetalInstances",
+ "location": "westus",
+ "tags": {
+ "key": "value"
+ },
+ "properties": {
+ "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "hardwareProfile": {
+ "hardwareType": "HPE",
+ "azureBareMetalInstanceSize": "S384"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.101"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.201"
+ },
+ "osProfile": {
+ "computerName": "myComputerName2",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/azureBareMetalInstances/myABMInstance1",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json
new file mode 100644
index 000000000000..412a064ac5ad
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_ListBySubscription.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance",
+ "location": "westus2",
+ "name": "myAzureBareMetalInstance1",
+ "tags": {
+ "key": "value"
+ },
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "properties": {
+ "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a",
+ "powerState": "restarting",
+ "hwRevision": "Rev 4.2",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "123.123.123.123"
+ }
+ ],
+ "circuitId": "/subscriptions/57d3422f-467a-448e-b798-ebf490849542/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "123.123.119.123"
+ },
+ "osProfile": {
+ "computerName": "myComputerName",
+ "osType": "SLES 12 SP2",
+ "version": "12 SP2"
+ },
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg10128/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myAzureBareMetalInstance",
+ "location": "westus2",
+ "name": "myAzureBareMetalInstance2",
+ "tags": {
+ "key": "value"
+ },
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "properties": {
+ "azureBareMetalInstanceId": "d83c3dfc-db7b-4103-9de7-fddfe6f2812a",
+ "powerState": "restarting",
+ "hwRevision": "Rev 4.2",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "123.123.123.123"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg10128/providers/Microsoft.Network/expressRouteCircuits/myAzureBareMetalInstance"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "123.123.119.123"
+ },
+ "osProfile": {
+ "computerName": "myComputerName2",
+ "osType": "SLES 12 SP2",
+ "version": "12 SP2"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json
new file mode 100644
index 000000000000..5f0080e409f2
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance",
+ "tagsParameter": {
+ "tags": {
+ "testkey": "testvalue"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance",
+ "name": "myABMInstance",
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "location": "westus",
+ "tags": {
+ "testkey": "testvalue"
+ },
+ "properties": {
+ "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.100"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.200"
+ },
+ "osProfile": {
+ "computerName": "myComputerName",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance2",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json
new file mode 100644
index 000000000000..badfe29783ac
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_PatchTags_Delete.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2017-11-03-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance",
+ "tagsParameter": {
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance",
+ "name": "myABMInstance",
+ "type": "Microsoft.BareMetalInfrastructure/bareMetalInstances",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "azureBareMetalInstanceId": "00000000-0000-0000-0000-000000000000",
+ "powerState": "started",
+ "proximityPlacementGroup": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myplacementgroup",
+ "hwRevision": "Rev 3",
+ "hardwareProfile": {
+ "hardwareType": "Cisco_UCS",
+ "azureBareMetalInstanceSize": "S72"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "ipAddress": "100.100.100.100"
+ }
+ ],
+ "circuitId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.Network/expressRouteCircuit"
+ },
+ "storageProfile": {
+ "nfsIpAddress": "200.200.200.200"
+ },
+ "osProfile": {
+ "computerName": "myComputerName",
+ "osType": "SUSE",
+ "version": "12 SP1",
+ "sshPublicKey": "AAAAB3NzaC1yc2EAAAABJQAAAQB/nAmOjTmezNUDKYvEeIRf2YnwM9/uUG1d0BYsc8/tRtx+RGi7N2lUbp728MXGwdnL9od4cItzky/zVdLZE2cycOa18xBK9cOWmcKS0A8FYBxEQWJ/q9YVUgZbFKfYGaGQxsER+A0w/fX8ALuk78ktP31K69LcQgxIsl7rNzxsoOQKJ/CIxOGMMxczYTiEoLvQhapFQMs3FL96didKr/QbrfB1WT6s3838SEaXfgZvLef1YB2xmfhbT9OXFE3FXvh2UPBfN+ffE7iiayQf/2XR+8j4N4bW30DiPtOQLGUrH1y5X/rpNZNlWW2+jGIxqZtgWg7lTy3mXy5x836Sj/6L"
+ },
+ "partnerNodeId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.BareMetalInfrastructure/bareMetalInstances/myABMInstance2",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json
new file mode 100644
index 000000000000..071580b9d6ea
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Restart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json
new file mode 100644
index 000000000000..071580b9d6ea
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Shutdown.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json
new file mode 100644
index 000000000000..071580b9d6ea
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalInstances_Start.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "myResourceGroup",
+ "azureBareMetalInstanceName": "myABMInstance"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json
new file mode 100644
index 000000000000..1821117de8f1
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/examples/AzureBareMetalOperations_List.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-08-06-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "AzureBareMetalOp1",
+ "display": {
+ "provider": "AzureBareMetalOp1ProviderName",
+ "resource": "AzureBareMetalOp1ResourceName",
+ "operation": "AzureBareMetalOp1OperationName",
+ "description": "AzureBareMetalOp1Description",
+ "origin": "AzureBareMetalOp1Origin"
+ },
+ "isDataAction": false
+ },
+ {
+ "name": "AzureBareMetalOp2",
+ "display": {
+ "provider": "AzureBareMetalOp2ProviderName",
+ "resource": "AzureBareMetalOp2ResourceName",
+ "operation": "AzureBareMetalOp2OperationName",
+ "description": "AzureBareMetalOp2Description",
+ "origin": "AzureBareMetalOp2Origin"
+ },
+ "isDataAction": true
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.csharp.md b/specification/baremetalinfrastructure/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..8399c777f44f
--- /dev/null
+++ b/specification/baremetalinfrastructure/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.BareMetalInfrastructure
+ output-folder: $(csharp-sdks-folder)/baremetalinfrastructure/management/Microsoft.BareMetalInfrastructure/GeneratedProtocol
+```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.go.md b/specification/baremetalinfrastructure/resource-manager/readme.go.md
new file mode 100644
index 000000000000..1157b0905cb3
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.go.md
@@ -0,0 +1,19 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+```
+
+### Tag: package-2020-08-06-preview and go
+
+These settings apply only when `--tag=package-2020-08-06-preview --go` is specified on the command line.
+Please also specify `--go-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-08-06-preview' && $(go)
+namespace: baremetalinfrastructure
+output-folder: $(go-sdks-folder)/baremetalinfrastructure/Generated
+```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.md b/specification/baremetalinfrastructure/resource-manager/readme.md
new file mode 100644
index 000000000000..2efae511812e
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.md
@@ -0,0 +1,79 @@
+# BareMetalInfrastructure
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for BareMetalInfrastructure.
+
+## 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 BareMetalInfrastructure API.
+
+```yaml
+openapi-type: arm
+tag: package-2020-08-06-preview
+```
+
+### Tag: package-2020-08-06-preview
+
+These settings apply only when `--tag=package-2020-08-06-preview` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-08-06-preview'
+input-file:
+ - Microsoft.BareMetalInfrastructure/preview/2020-08-06-preview/baremetalinfrastructure.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_baremetalinfrastructure']
+```
+
+## 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/baremetalinfrastructure/resource-manager/readme.python.md b/specification/baremetalinfrastructure/resource-manager/readme.python.md
new file mode 100644
index 000000000000..4f59e49672a9
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.python.md
@@ -0,0 +1,21 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+```yaml $(python)
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: Microsoft.BareMetalInfrastructure
+ package-name: baremetalinfrastructure
+ package-version: 2020-08-06-preview
+ clear-output-folder: true
+```
+
+```yaml $(python)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/baremetalinfrastructure
+```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.ruby.md b/specification/baremetalinfrastructure/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..1c290102b63f
--- /dev/null
+++ b/specification/baremetalinfrastructure/resource-manager/readme.ruby.md
@@ -0,0 +1,19 @@
+## Ruby
+
+These settings apply only when `--ruby` is specified on the command line.
+
+```yaml
+package-name: azure_mgmt_baremetalinfrastructure
+package-version: 2020-08-06-preview
+azure-arm: true
+```
+
+### Tag: package-2020-08-06-preview and ruby
+
+These settings apply only when `--tag=package-2020-08-06-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2020-08-06-preview' && $(ruby)
+namespace: Microsoft.BareMetalInfrastructure
+output-folder: $(ruby-sdks-folder)/baremetalinfrastructure
+```
diff --git a/specification/baremetalinfrastructure/resource-manager/readme.typescript.md b/specification/baremetalinfrastructure/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..8fbf13c9da70
--- /dev/null
+++ b/specification/baremetalinfrastructure/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: "baremetalinfrastructure"
+ output-folder: "$(typescript-sdks-folder)/packages/baremetalinfrastructure"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
diff --git a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
index 4cb90f36b1e5..166919d73a79 100644
--- a/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
+++ b/specification/batch/data-plane/Microsoft.Batch/stable/2020-03-01.11.0/BatchService.json
@@ -574,7 +574,7 @@
"Accounts"
],
"operationId": "Account_ListPoolNodeCounts",
- "description": "Gets the number of Compute Nodes in each state, grouped by Pool.",
+ "description": "Gets the number of Compute Nodes in each state, grouped by Pool. Note that the numbers returned may not always be up to date. If you need exact node counts, use a list query.",
"x-ms-examples": {
"NodeCountsPayload": {
"$ref": "./examples/AccountListPoolNodeCounts.json"
@@ -5875,7 +5875,7 @@
}
},
"summary": "Gets the Task counts for the specified Job.",
- "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running.",
+ "description": "Task counts provide a count of the Tasks by active, running or completed Task state, and a count of Tasks which succeeded or failed. Tasks in the preparing state are counted as running. Note that the numbers returned may not always be up to date. If you need exact task counts, use a list query.",
"x-ms-request-id": "request-id",
"parameters": [
{
@@ -15822,7 +15822,8 @@
"destination",
"uploadOptions"
],
- "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process."
+ "title": "A specification for uploading files from an Azure Batch Compute Node to another location after the Batch service has finished executing the Task process.",
+ "description": "On every file uploads, Batch service writes two log files to the compute node, 'fileuploadout.txt' and 'fileuploaderr.txt'. These log files are used to learn more about a specific failure."
},
"OutputFileDestination": {
"properties": {
diff --git a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json
index 1dfb09e8472b..7aa629b9cb38 100644
--- a/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json
+++ b/specification/batch/resource-manager/Microsoft.Batch/stable/2020-05-01/BatchManagement.json
@@ -2382,7 +2382,7 @@
}
}
},
- "description": "The identity of the Batch account, if configured. This is only used when the user specifies 'Azure.KeyVault' as their Batch account encryption configuration.",
+ "description": "The identity of the Batch account, if configured. This is only used when the user specifies 'Microsoft.KeyVault' as their Batch account encryption configuration.",
"required": [
"type"
]
diff --git a/specification/batch/resource-manager/readme.azureresourceschema.md b/specification/batch/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..1bfc3c15500f
--- /dev/null
+++ b/specification/batch/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,120 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-batch-2020-05-01
+ - tag: schema-batch-2020-03-01
+ - tag: schema-batch-2019-08-01
+ - tag: schema-batch-2019-04-01
+ - tag: schema-batch-2018-12-01
+ - tag: schema-batch-2017-09-01
+ - tag: schema-batch-2017-05-01
+ - tag: schema-batch-2017-01-01
+ - tag: schema-batch-2015-12-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-batch-2020-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2020-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2020-05-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2020-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2020-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2020-03-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2019-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2019-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2019-08-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2019-04-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2018-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2018-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2018-12-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2017-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2017-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2017-09-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2017-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2017-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2017-05-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2017-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2017-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2017-01-01/BatchManagement.json
+
+```
+
+### Tag: schema-batch-2015-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batch-2015-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Batch/stable/2015-12-01/BatchManagement.json
+
+```
diff --git a/specification/batch/resource-manager/readme.md b/specification/batch/resource-manager/readme.md
index 90df5aff354d..c3d1372be738 100644
--- a/specification/batch/resource-manager/readme.md
+++ b/specification/batch/resource-manager/readme.md
@@ -167,6 +167,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_batch']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js batch/resource-manager
```
## C#
@@ -267,6 +270,10 @@ generate-interface: true
`
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/batchai/resource-manager/readme.azureresourceschema.md b/specification/batchai/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..da50d317d24b
--- /dev/null
+++ b/specification/batchai/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,48 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-batchai-2018-05-01
+ - tag: schema-batchai-2018-03-01
+ - tag: schema-batchai-2017-09-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-batchai-2018-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batchai-2018-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BatchAI/stable/2018-05-01/BatchAI.json
+
+```
+
+### Tag: schema-batchai-2018-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-batchai-2018-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BatchAI/stable/2018-03-01/BatchAI.json
+
+```
+
+### Tag: schema-batchai-2017-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-batchai-2017-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BatchAI/preview/2017-09-01-preview/BatchAI.json
+
+```
diff --git a/specification/batchai/resource-manager/readme.md b/specification/batchai/resource-manager/readme.md
index 64c9b649cdac..a33a47f14d3b 100644
--- a/specification/batchai/resource-manager/readme.md
+++ b/specification/batchai/resource-manager/readme.md
@@ -72,6 +72,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js batchai/resource-manager
```
@@ -183,6 +186,10 @@ regenerate-manager: true
generate-interface: true
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
new file mode 100644
index 000000000000..94e961a7fdee
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
@@ -0,0 +1,394 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-03-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/enrollmentAccounts": {
+ "get": {
+ "tags": [
+ "EnrollmentAccounts"
+ ],
+ "x-ms-examples": {
+ "EnrollmentAccountsList": {
+ "$ref": "./examples/EnrollmentAccountsList.json"
+ }
+ },
+ "operationId": "EnrollmentAccounts_List",
+ "description": "Lists the enrollment accounts the caller has access to.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnrollmentAccountListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/enrollmentAccounts/{name}": {
+ "get": {
+ "tags": [
+ "EnrollmentAccounts"
+ ],
+ "x-ms-examples": {
+ "EnrollmentAccountsGet": {
+ "$ref": "./examples/EnrollmentAccountsGet.json"
+ }
+ },
+ "operationId": "EnrollmentAccounts_Get",
+ "description": "Gets a enrollment account by name.",
+ "parameters": [
+ {
+ "name": "name",
+ "in": "path",
+ "description": "Enrollment Account name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/EnrollmentAccountSummary"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods": {
+ "get": {
+ "tags": [
+ "BillingPeriods"
+ ],
+ "operationId": "BillingPeriods_List",
+ "description": "Lists the available billing periods for a subscription in reverse chronological order. This is only supported for Azure Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API.",
+ "externalDocs": {
+ "url": "https://go.microsoft.com/fwlink/?linkid=844490"
+ },
+ "x-ms-examples": {
+ "BillingPeriodsList": {
+ "$ref": "./examples/BillingPeriodsList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionGuidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter billing periods by billingPeriodEndDate. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N billing periods.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 100
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingPeriodsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Billing/billingPeriods/{billingPeriodName}": {
+ "get": {
+ "tags": [
+ "BillingPeriods"
+ ],
+ "operationId": "BillingPeriods_Get",
+ "description": "Gets a named billing period. This is only supported for Azure Web-Direct subscriptions. Other subscription types which were not purchased directly through the Azure web portal are not supported through this preview API.",
+ "x-ms-examples": {
+ "BillingPeriodsGet": {
+ "$ref": "./examples/BillingPeriodsGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionGuidParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "billingPeriodName",
+ "description": "The name of a BillingPeriod resource.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingPeriod"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "EnrollmentAccountSummary": {
+ "description": "An enrollment account resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "An enrollment account.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EnrollmentAccountSummaryProperties"
+ }
+ }
+ },
+ "EnrollmentAccountListResult": {
+ "description": "Result of listing enrollment accounts.",
+ "properties": {
+ "value": {
+ "description": "The list of enrollment accounts.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/EnrollmentAccountSummary"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "EnrollmentAccountSummaryProperties": {
+ "description": "The properties of the enrollment account.",
+ "properties": {
+ "principalName": {
+ "description": "The account owner's principal name.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BillingPeriod": {
+ "description": "A billing period resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "description": "A billing period.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/BillingPeriodProperties"
+ }
+ }
+ },
+ "BillingPeriodsListResult": {
+ "description": "Result of listing billing periods. It contains a list of available billing periods in reverse chronological order.",
+ "properties": {
+ "value": {
+ "description": "The list of billing periods.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/BillingPeriod"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "BillingPeriodProperties": {
+ "description": "The properties of the billing period.",
+ "properties": {
+ "billingPeriodStartDate": {
+ "description": "The start of the date range covered by the billing period.",
+ "type": "string",
+ "format": "date",
+ "readOnly": true
+ },
+ "billingPeriodEndDate": {
+ "description": "The end of the date range covered by the billing period.",
+ "type": "string",
+ "format": "date",
+ "readOnly": true
+ },
+ "invoiceIds": {
+ "description": "Array of invoice ids that associated with.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "The target of the particular error.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The details of the error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "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. The current version is 2018-03-01-preview."
+ },
+ "subscriptionGuidParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "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/2019-10-01-preview/billing.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json
index 9ef0b0294a0d..680b35022642 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/billing.json
@@ -503,6 +503,48 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/validateDetachPaymentMethodEligibility": {
+ "get": {
+ "tags": [
+ "BillingProfiles"
+ ],
+ "x-ms-examples": {
+ "ValidateDetachPaymentMethodEligibilitySuccess": {
+ "$ref": "./examples/ValidateDetachPaymentMethodEligibilitySuccess.json"
+ },
+ "ValidateDetachPaymentMethodEligibilityFailure": {
+ "$ref": "./examples/ValidateDetachPaymentMethodEligibilityFailure.json"
+ }
+ },
+ "operationId": "BillingProfiles_GetEligibilityToDetachPaymentMethod",
+ "description": "Validates if the default payment method can be detached from the billing profile. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DetachPaymentMethodEligibilityResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles": {
"get": {
"tags": [
@@ -3732,6 +3774,9 @@
"x-ms-examples": {
"BillingAccountPermissionsList": {
"$ref": "./examples/BillingAccountPermissionsList.json"
+ },
+ "BillingAccountEaPermissionsList": {
+ "$ref": "./examples/BillingAccountEaPermissionsList.json"
}
},
"operationId": "BillingPermissions_ListByBillingAccount",
@@ -3757,6 +3802,9 @@
"$ref": "#/definitions/ErrorResponse"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
}
},
@@ -3841,6 +3889,90 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingPermissions": {
+ "get": {
+ "tags": [
+ "BillingPermissions"
+ ],
+ "x-ms-examples": {
+ "DepartmentPermissionsList": {
+ "$ref": "./examples/DepartmentPermissionsList.json"
+ }
+ },
+ "operationId": "BillingPermissions_ListByDepartment",
+ "description": "Lists the billing permissions the caller has on a department.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingPermissionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingPermissions": {
+ "get": {
+ "tags": [
+ "BillingPermissions"
+ ],
+ "x-ms-examples": {
+ "EnrollmentAccountPermissionsList": {
+ "$ref": "./examples/EnrollmentAccountPermissionsList.json"
+ }
+ },
+ "operationId": "BillingPermissions_ListByEnrollmentAccount",
+ "description": "Lists the billing permissions the caller has on an enrollment account.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingPermissionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}": {
"get": {
"tags": [
@@ -3849,6 +3981,9 @@
"x-ms-examples": {
"BillingAccountRoleDefinition": {
"$ref": "./examples/BillingAccountRoleDefinition.json"
+ },
+ "BillingAccountEaRoleDefinition": {
+ "$ref": "./examples/BillingAccountEaRoleDefinition.json"
}
},
"operationId": "BillingRoleDefinitions_GetByBillingAccount",
@@ -3967,31 +4102,37 @@
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleDefinitions/{billingRoleDefinitionName}": {
"get": {
"tags": [
"BillingRoleDefinitions"
],
"x-ms-examples": {
- "BillingAccountRoleDefinitionsList": {
- "$ref": "./examples/BillingAccountRoleDefinitionsList.json"
+ "DepartmentRoleDefinition": {
+ "$ref": "./examples/DepartmentRoleDefinition.json"
}
},
- "operationId": "BillingRoleDefinitions_ListByBillingAccount",
- "description": "Lists the role definitions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
+ "operationId": "BillingRoleDefinitions_GetByDepartment",
+ "description": "Gets the definition for a role on a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleDefinitionNameParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/BillingRoleDefinitionListResult"
+ "$ref": "#/definitions/BillingRoleDefinition"
}
},
"default": {
@@ -4003,18 +4144,18 @@
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleDefinitions/{billingRoleDefinitionName}": {
"get": {
"tags": [
"BillingRoleDefinitions"
],
"x-ms-examples": {
- "InvoiceSectionRoleDefinitionsList": {
- "$ref": "./examples/InvoiceSectionRoleDefinitionsList.json"
+ "EnrollmentAccountRoleDefinition": {
+ "$ref": "./examples/EnrollmentAccountRoleDefinition.json"
}
},
- "operationId": "BillingRoleDefinitions_ListByInvoiceSection",
- "description": "Lists the role definitions for an invoice section. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
+ "operationId": "BillingRoleDefinitions_GetByEnrollmentAccount",
+ "description": "Gets the definition for a role on an enrollment account. The operation is supported only for billing accounts with agreement type Enterprise Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
@@ -4023,17 +4164,17 @@
"$ref": "#/parameters/billingAccountNameParameter"
},
{
- "$ref": "#/parameters/billingProfileNameParameter"
+ "$ref": "#/parameters/enrollmentAccountNameParameter"
},
{
- "$ref": "#/parameters/invoiceSectionNameParameter"
+ "$ref": "#/parameters/billingRoleDefinitionNameParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/BillingRoleDefinitionListResult"
+ "$ref": "#/definitions/BillingRoleDefinition"
}
},
"default": {
@@ -4045,27 +4186,27 @@
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleDefinitions": {
"get": {
"tags": [
"BillingRoleDefinitions"
],
"x-ms-examples": {
- "BillingProfileRoleDefinitionsList": {
- "$ref": "./examples/BillingProfileRoleDefinitionsList.json"
+ "BillingAccountRoleDefinitionsList": {
+ "$ref": "./examples/BillingAccountRoleDefinitionsList.json"
+ },
+ "BillingAccountEaRoleDefinitionsList": {
+ "$ref": "./examples/BillingAccountEaRoleDefinitionsList.json"
}
},
- "operationId": "BillingRoleDefinitions_ListByBillingProfile",
- "description": "Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
+ "operationId": "BillingRoleDefinitions_ListByBillingAccount",
+ "description": "Lists the role definitions for a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"$ref": "#/parameters/billingAccountNameParameter"
- },
- {
- "$ref": "#/parameters/billingProfileNameParameter"
}
],
"responses": {
@@ -4081,21 +4222,24 @@
"$ref": "#/definitions/ErrorResponse"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleDefinitions": {
"get": {
"tags": [
- "BillingRoleAssignments"
+ "BillingRoleDefinitions"
],
"x-ms-examples": {
- "BillingAccountRoleAssignment": {
- "$ref": "./examples/BillingAccountRoleAssignment.json"
+ "InvoiceSectionRoleDefinitionsList": {
+ "$ref": "./examples/InvoiceSectionRoleDefinitionsList.json"
}
},
- "operationId": "BillingRoleAssignments_GetByBillingAccount",
- "description": "Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
+ "operationId": "BillingRoleDefinitions_ListByInvoiceSection",
+ "description": "Lists the role definitions for an invoice section. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
@@ -4104,14 +4248,17 @@
"$ref": "#/parameters/billingAccountNameParameter"
},
{
- "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/invoiceSectionNameParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/BillingRoleAssignment"
+ "$ref": "#/definitions/BillingRoleDefinitionListResult"
}
},
"default": {
@@ -4121,18 +4268,20 @@
}
}
}
- },
- "delete": {
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleDefinitions": {
+ "get": {
"tags": [
- "BillingRoleAssignments"
+ "BillingRoleDefinitions"
],
"x-ms-examples": {
- "BillingAccountRoleAssignmentDelete": {
- "$ref": "./examples/BillingAccountRoleAssignmentDelete.json"
+ "BillingProfileRoleDefinitionsList": {
+ "$ref": "./examples/BillingProfileRoleDefinitionsList.json"
}
},
- "operationId": "BillingRoleAssignments_DeleteByBillingAccount",
- "description": "Deletes a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
+ "operationId": "BillingRoleDefinitions_ListByBillingProfile",
+ "description": "Lists the role definitions for a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
@@ -4141,14 +4290,14 @@
"$ref": "#/parameters/billingAccountNameParameter"
},
{
- "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ "$ref": "#/parameters/billingProfileNameParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/BillingRoleAssignment"
+ "$ref": "#/definitions/BillingRoleDefinitionListResult"
}
},
"default": {
@@ -4160,18 +4309,18 @@
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleDefinitions": {
"get": {
"tags": [
- "BillingRoleAssignments"
+ "BillingRoleDefinitions"
],
"x-ms-examples": {
- "InvoiceSectionRoleAssignment": {
- "$ref": "./examples/InvoiceSectionRoleAssignment.json"
+ "DepartmentRoleDefinitionsList": {
+ "$ref": "./examples/DepartmentRoleDefinitionsList.json"
}
},
- "operationId": "BillingRoleAssignments_GetByInvoiceSection",
- "description": "Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.",
+ "operationId": "BillingRoleDefinitions_ListByDepartment",
+ "description": "Lists the role definitions for a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
@@ -4180,20 +4329,14 @@
"$ref": "#/parameters/billingAccountNameParameter"
},
{
- "$ref": "#/parameters/billingProfileNameParameter"
- },
- {
- "$ref": "#/parameters/invoiceSectionNameParameter"
- },
- {
- "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ "$ref": "#/parameters/departmentNameParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/BillingRoleAssignment"
+ "$ref": "#/definitions/BillingRoleDefinitionListResult"
}
},
"default": {
@@ -4202,19 +4345,24 @@
"$ref": "#/definitions/ErrorResponse"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
- },
- "delete": {
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleDefinitions": {
+ "get": {
"tags": [
- "BillingRoleAssignments"
+ "BillingRoleDefinitions"
],
"x-ms-examples": {
- "InvoiceSectionRoleAssignmentDelete": {
- "$ref": "./examples/InvoiceSectionRoleAssignmentDelete.json"
+ "EnrollmentAccountRoleDefinitionsList": {
+ "$ref": "./examples/EnrollmentAccountRoleDefinitionsList.json"
}
},
- "operationId": "BillingRoleAssignments_DeleteByInvoiceSection",
- "description": "Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.",
+ "operationId": "BillingRoleDefinitions_ListByEnrollmentAccount",
+ "description": "Lists the role definitions for a enrollmentAccount. The operation is supported only for billing accounts with agreement type Enterprise Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
@@ -4223,20 +4371,14 @@
"$ref": "#/parameters/billingAccountNameParameter"
},
{
- "$ref": "#/parameters/billingProfileNameParameter"
- },
- {
- "$ref": "#/parameters/invoiceSectionNameParameter"
- },
- {
- "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ "$ref": "#/parameters/enrollmentAccountNameParameter"
}
],
"responses": {
"200": {
"description": "OK. The request has succeeded.",
"schema": {
- "$ref": "#/definitions/BillingRoleAssignment"
+ "$ref": "#/definitions/BillingRoleDefinitionListResult"
}
},
"default": {
@@ -4245,21 +4387,27 @@
"$ref": "#/definitions/ErrorResponse"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
}
},
- "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": {
"get": {
"tags": [
"BillingRoleAssignments"
],
"x-ms-examples": {
- "BillingProfileRoleAssignment": {
- "$ref": "./examples/BillingProfileRoleAssignment.json"
+ "BillingAccountRoleAssignment": {
+ "$ref": "./examples/BillingAccountRoleAssignment.json"
+ },
+ "BillingAccountEaRoleAssignment": {
+ "$ref": "./examples/BillingAccountEaRoleAssignment.json"
}
},
- "operationId": "BillingRoleAssignments_GetByBillingProfile",
- "description": "Gets a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
+ "operationId": "BillingRoleAssignments_GetByBillingAccount",
+ "description": "Gets a role assignment for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
@@ -4267,9 +4415,6 @@
{
"$ref": "#/parameters/billingAccountNameParameter"
},
- {
- "$ref": "#/parameters/billingProfileNameParameter"
- },
{
"$ref": "#/parameters/billingRoleAssignmentNameParameter"
}
@@ -4294,12 +4439,228 @@
"BillingRoleAssignments"
],
"x-ms-examples": {
- "BillingProfileRoleAssignmentDelete": {
- "$ref": "./examples/BillingProfileRoleAssignmentDelete.json"
+ "BillingAccountRoleAssignmentDelete": {
+ "$ref": "./examples/BillingAccountRoleAssignmentDelete.json"
+ },
+ "BillingAccountEaRoleAssignmentDelete": {
+ "$ref": "./examples/BillingAccountEaRoleAssignmentDelete.json"
}
},
- "operationId": "BillingRoleAssignments_DeleteByBillingProfile",
- "description": "Deletes a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
+ "operationId": "BillingRoleAssignments_DeleteByBillingAccount",
+ "description": "Deletes a role assignment for the caller on a billing account. 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/billingRoleAssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "operationId": "RoleAssignments_Put",
+ "description": "Create or update a billing role assignment.",
+ "x-ms-examples": {
+ "PutEnrollmentAdministratorRoleAssignment": {
+ "$ref": "./examples/PutAdministratorRoleAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ },
+ "description": "The new or updated billing role assignment."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/invoiceSections/{invoiceSectionName}/billingRoleAssignments/{billingRoleAssignmentName}": {
+ "get": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "InvoiceSectionRoleAssignment": {
+ "$ref": "./examples/InvoiceSectionRoleAssignment.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_GetByInvoiceSection",
+ "description": "Gets a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/invoiceSectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "InvoiceSectionRoleAssignmentDelete": {
+ "$ref": "./examples/InvoiceSectionRoleAssignmentDelete.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_DeleteByInvoiceSection",
+ "description": "Deletes a role assignment for the caller on an invoice section. The operation is supported for billing accounts with agreement type Microsoft Customer Agreement.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileNameParameter"
+ },
+ {
+ "$ref": "#/parameters/invoiceSectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}/billingRoleAssignments/{billingRoleAssignmentName}": {
+ "get": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "BillingProfileRoleAssignment": {
+ "$ref": "./examples/BillingProfileRoleAssignment.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_GetByBillingProfile",
+ "description": "Gets a role assignment for the caller on a billing profile. 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/billingRoleAssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "BillingProfileRoleAssignmentDelete": {
+ "$ref": "./examples/BillingProfileRoleAssignmentDelete.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_DeleteByBillingProfile",
+ "description": "Deletes a role assignment for the caller on a billing profile. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
@@ -4330,6 +4691,268 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleAssignments/{billingRoleAssignmentName}": {
+ "get": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "DepartmentRoleAssignment": {
+ "$ref": "./examples/DepartmentRoleAssignment.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_GetByDepartment",
+ "description": "Gets a role assignment for the caller on a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "DepartmentRoleAssignmentDelete": {
+ "$ref": "./examples/DepartmentRoleAssignmentDelete.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_DeleteByDepartment",
+ "description": "Deletes a role assignment for the caller on a department. The operation is supported only for billing accounts with agreement type Enterprise Agreement.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "operationId": "EnrollmentDepartmentRoleAssignments_Put",
+ "description": "Create or update a billing role assignment.",
+ "x-ms-examples": {
+ "PutEnrollmentDepartmentAdministratorRoleAssignment": {
+ "$ref": "./examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ },
+ "description": "The new or updated billing role assignment."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleAssignments/{billingRoleAssignmentName}": {
+ "get": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "EnrollmentAccountRoleAssignment": {
+ "$ref": "./examples/EnrollmentAccountRoleAssignment.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_GetByEnrollmentAccount",
+ "description": "Gets a role assignment for the caller on a enrollment Account. The operation is supported only for billing accounts with agreement type Enterprise Agreement.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "EnrollmentAccountRoleAssignmentDelete": {
+ "$ref": "./examples/EnrollmentAccountRoleAssignmentDelete.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_DeleteByEnrollmentAccount",
+ "description": "Deletes a role assignment for the caller on a enrollment Account. The operation is supported only for billing accounts with agreement type Enterprise Agreement.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "operationId": "EnrollmentAccountRoleAssignments_Put",
+ "description": "Create or update a billing role assignment.",
+ "x-ms-examples": {
+ "PutEnrollmentAccountSubscriptionCreatorRoleAssignment": {
+ "$ref": "./examples/PutEnrollmentAccountSubscriptionCreatorRoleAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/billingRoleAssignmentNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ },
+ "description": "The new or updated billing role assignment."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingRoleAssignments": {
"get": {
"tags": [
@@ -4338,10 +4961,13 @@
"x-ms-examples": {
"BillingAccountRoleAssignmentList": {
"$ref": "./examples/BillingAccountRoleAssignmentList.json"
+ },
+ "BillingAccountEaRoleAssignmentList": {
+ "$ref": "./examples/BillingAccountEaRoleAssignmentList.json"
}
},
"operationId": "BillingRoleAssignments_ListByBillingAccount",
- "description": "Lists the role assignments for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement or Microsoft Customer Agreement.",
+ "description": "Lists the role assignments for the caller on a billing account. The operation is supported for billing accounts with agreement type Microsoft Partner Agreement, Microsoft Customer Agreement or Enterprise Agreement.",
"parameters": [
{
"$ref": "#/parameters/apiVersionParameter"
@@ -4363,6 +4989,9 @@
"$ref": "#/definitions/ErrorResponse"
}
}
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
}
}
},
@@ -4591,6 +5220,90 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/departments/{departmentName}/billingRoleAssignments": {
+ "get": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "DepartmentRoleAssignmentList": {
+ "$ref": "./examples/DepartmentRoleAssignmentList.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_ListByDepartment",
+ "description": "Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts of type Enterprise Agreement.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/departmentNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/enrollmentAccounts/{enrollmentAccountName}/billingRoleAssignments": {
+ "get": {
+ "tags": [
+ "BillingRoleAssignments"
+ ],
+ "x-ms-examples": {
+ "EnrollmentAccountRoleAssignmentList": {
+ "$ref": "./examples/EnrollmentAccountRoleAssignmentList.json"
+ }
+ },
+ "operationId": "BillingRoleAssignments_ListByEnrollmentAccount",
+ "description": "Lists the role assignments for the caller on a billing profile. The operation is supported for billing accounts of type Enterprise Agreement.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountNameParameter"
+ },
+ {
+ "$ref": "#/parameters/enrollmentAccountNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/BillingRoleAssignmentListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
"/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/agreements": {
"get": {
"tags": [
@@ -5209,6 +5922,54 @@
}
}
},
+ "DetachPaymentMethodEligibilityResult": {
+ "type": "object",
+ "description": "Result of the detach payment method eligibility validation.",
+ "properties": {
+ "isEligible": {
+ "description": "Specifies whether the payment method is eligible to be detached from the billing profile.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "errorDetails": {
+ "description": "The list of detach payment method eligibility errors.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/DetachPaymentMethodErrorDetails"
+ }
+ }
+ }
+ },
+ "DetachPaymentMethodErrorDetails": {
+ "type": "object",
+ "description": "Error details of the detach payment method eligibility validation.",
+ "properties": {
+ "code": {
+ "description": "Error code for the detach payment method eligibility validation.",
+ "$ref": "#/definitions/DetachPaymentMethodEligibilityErrorCode"
+ },
+ "message": {
+ "description": "Error message for the detach payment method eligibility validation.",
+ "type": "string"
+ }
+ }
+ },
+ "DetachPaymentMethodEligibilityErrorCode": {
+ "type": "string",
+ "description": "Error code of the detach payment method eligibility validation response.",
+ "enum": [
+ "AzureSubscriptions",
+ "RecurringCharges",
+ "ReservedInstances",
+ "OutstandingCharges",
+ "PendingCharges"
+ ],
+ "x-ms-enum": {
+ "name": "detachPaymentMethodEligibilityErrorCode",
+ "modelAsString": true
+ }
+ },
"ValidateSubscriptionTransferEligibilityResult": {
"type": "object",
"description": "Result of the transfer eligibility validation.",
@@ -5876,6 +6637,21 @@
"description": "Billing address.",
"$ref": "#/definitions/AddressDetails"
},
+ "billingRelationshipType": {
+ "description": "Identifies which services and purchases are paid by a billing profile.",
+ "type": "string",
+ "enum": [
+ "Direct",
+ "IndirectCustomer",
+ "IndirectPartner",
+ "CSPPartner"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "BillingRelationshipType",
+ "modelAsString": true
+ }
+ },
"invoiceEmailOptIn": {
"description": "Flag controlling whether the invoices for the billing profile are sent through email.",
"type": "boolean"
@@ -5897,6 +6673,11 @@
"$ref": "#/definitions/AzurePlan"
}
},
+ "indirectRelationshipInfo": {
+ "description": "Identifies the billing profile that is linked to another billing profile in indirect purchase motion.",
+ "readOnly": true,
+ "$ref": "#/definitions/IndirectRelationshipInfo"
+ },
"invoiceSections": {
"description": "The invoice sections associated to the billing profile.",
"type": "array",
@@ -5943,6 +6724,14 @@
"name": "SpendingLimit",
"modelAsString": true
}
+ },
+ "targetClouds": {
+ "description": "Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field and gets updated as the billing profile gets associated with accounts in various clouds.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/TargetCloud"
+ }
}
}
},
@@ -5991,6 +6780,23 @@
}
}
},
+ "IndirectRelationshipInfo": {
+ "description": "The billing profile details of the partner of the customer for an indirect motion.",
+ "properties": {
+ "billingAccountName": {
+ "description": "The billing account name of the partner or the customer for an indirect motion.",
+ "type": "string"
+ },
+ "billingProfileName": {
+ "description": "The billing profile name of the partner or the customer for an indirect motion.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name of the partner or customer for an indirect motion.",
+ "type": "string"
+ }
+ }
+ },
"InvoiceSectionCreationRequest": {
"description": "The properties of the invoice section.",
"properties": {
@@ -6040,6 +6846,24 @@
"displayName": {
"description": "The name of the invoice section.",
"type": "string"
+ },
+ "state": {
+ "description": "Identifies the state of an invoice section.",
+ "type": "string",
+ "enum": [
+ "Active",
+ "Restricted"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "InvoiceSectionState",
+ "modelAsString": true
+ }
+ },
+ "targetCloud": {
+ "description": "Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field and gets updated as the invoice section gets associated with accounts in various clouds.",
+ "$ref": "#/definitions/TargetCloud",
+ "readOnly": true
}
}
},
@@ -6875,6 +7699,19 @@
}
}
},
+ "TargetCloud": {
+ "type": "string",
+ "description": "Possible cloud environments.",
+ "enum": [
+ "USGov",
+ "USNat",
+ "USSec"
+ ],
+ "x-ms-enum": {
+ "name": "targetCloud",
+ "modelAsString": true
+ }
+ },
"TransactionListResult": {
"description": "The list of transactions.",
"properties": {
@@ -7388,6 +8225,11 @@
"items": {
"$ref": "#/definitions/BillingRoleAssignment"
}
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -7425,6 +8267,11 @@
"type": "string",
"readOnly": true
},
+ "createdByUserEmailAddress": {
+ "description": "The email address of the user who created the role assignment. This is supported only for billing accounts with agreement type Enterprise Agreement.",
+ "type": "string",
+ "readOnly": true
+ },
"name": {
"description": "The name of the role assignment.",
"type": "string",
@@ -7432,18 +8279,28 @@
},
"principalId": {
"description": "The principal id of the user to whom the role was assigned.",
- "type": "string",
- "readOnly": true
+ "type": "string"
+ },
+ "principalTenantId": {
+ "description": "The principal tenant id of the user to whom the role was assigned.",
+ "type": "string"
},
- "roleDefinitionName": {
+ "roleDefinitionId": {
"description": "The ID of the role definition.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"scope": {
"description": "The scope at which the role was assigned.",
"type": "string",
"readOnly": true
+ },
+ "userEmailAddress": {
+ "description": "The email address of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.",
+ "type": "string"
+ },
+ "userAuthenticationType": {
+ "description": "The authentication type of the user, whether Organization or MSA, of the user to whom the role was assigned. This is supported only for billing accounts with agreement type Enterprise Agreement.",
+ "type": "string"
}
}
},
@@ -7457,6 +8314,11 @@
"items": {
"$ref": "#/definitions/BillingRoleDefinition"
}
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
}
}
},
@@ -7508,6 +8370,11 @@
"items": {
"$ref": "#/definitions/BillingPermissionsProperties"
}
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
}
}
},
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaPermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaPermissionsList.json
new file mode 100644
index 000000000000..a4f00c0f0c5c
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaPermissionsList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/read",
+ "Microsoft.Billing/billingAccounts/write",
+ "Microsoft.Billing/billingAccounts/action",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/read",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/write",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/action",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/action",
+ "Microsoft.Billing/billingAccounts/departments/read",
+ "Microsoft.Billing/billingAccounts/departments/write",
+ "Microsoft.Billing/billingAccounts/departments/action",
+ "Microsoft.Billing/billingAccounts/departments/delete",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/action",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/delete",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/action"
+ ],
+ "notActions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignment.json
new file mode 100644
index 000000000000..9e492b704ba5
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignment.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentId}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleAssignments/b20266a0-3966-4283-bbb6-fb8ad761f08b",
+ "name": "b20266a0-3966-4283-bbb6-fb8ad761f08b",
+ "properties": {
+ "createdOn": "2018-11-28T07:00:08.87-08:00",
+ "createdByUserEmailAddress": "foo@microsoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/8608480",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "bar@testea.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentDelete.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentDelete.json
new file mode 100644
index 000000000000..65dce810230b
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentDelete.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingRoleAssignmentName": "b20266a0-3966-4283-bbb6-fb8ad761f08b"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleAssignments/b20266a0-3966-4283-bbb6-fb8ad761f08b",
+ "name": "b20266a0-3966-4283-bbb6-fb8ad761f08b",
+ "properties": {
+ "createdOn": "2018-11-28T07:00:08.87-08:00",
+ "createdByUserEmailAddress": "foo@microsoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/8608480",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "bar@testea.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentList.json
new file mode 100644
index 000000000000..1fdd6ae34f43
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleAssignmentList.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleAssignments/b20266a0-3966-4283-bbb6-fb8ad761f08b",
+ "name": "b20266a0-3966-4283-bbb6-fb8ad761f08b",
+ "properties": {
+ "createdOn": "2018-11-28T07:00:08.87-08:00",
+ "createdByUserEmailAddress": "foo@microsoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/8608480",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "bar@testea.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments"
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleAssignments/c20266a0-3966-4283-bbb6-fb8ad761f08b",
+ "name": "c20266a0-3966-4283-bbb6-fb8ad761f08b",
+ "properties": {
+ "createdOn": "2018-11-28T07:00:08.87-08:00",
+ "createdByUserEmailAddress": "foo@microsoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/8608480",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "baz@testea.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinition.json
new file mode 100644
index 000000000000..8fab788889c8
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinition.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingRoleDefinitionName": "{billingRoleDefinitionName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/{billingRoleDefinitionName}",
+ "name": "{billingRoleDefinitionName}",
+ "properties": {
+ "description": "The enrollment administrator role gives the user all permissions including access management rights to an Enrollment and its departments and accounts.",
+ "permissions": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/read",
+ "Microsoft.Billing/billingAccounts/write",
+ "Microsoft.Billing/billingAccounts/action",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/read",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/write",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/action",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/action",
+ "Microsoft.Billing/billingAccounts/departments/read",
+ "Microsoft.Billing/billingAccounts/departments/write",
+ "Microsoft.Billing/billingAccounts/departments/action",
+ "Microsoft.Billing/billingAccounts/departments/delete",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/action",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/delete",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/action"
+ ]
+ }
+ ],
+ "roleName": "Enrollment administrator"
+ },
+ "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinitionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinitionsList.json
new file mode 100644
index 000000000000..42f8fff48958
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountEaRoleDefinitionsList.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db",
+ "name": "9f1983cb-2574-400c-87e9-34cf8e2280db",
+ "properties": {
+ "description": "The enrollment administrator role gives the user all permissions including access management rights to an Enrollment and its departments and accounts.",
+ "permissions": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/read",
+ "Microsoft.Billing/billingAccounts/write",
+ "Microsoft.Billing/billingAccounts/action",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/read",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/write",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/action",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/action",
+ "Microsoft.Billing/billingAccounts/departments/read",
+ "Microsoft.Billing/billingAccounts/departments/write",
+ "Microsoft.Billing/billingAccounts/departments/action",
+ "Microsoft.Billing/billingAccounts/departments/delete",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/action",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/delete",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/action"
+ ]
+ }
+ ],
+ "roleName": "Enrollment administrator"
+ },
+ "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions"
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/8608480/billingRoleDefinitions/24f8edb6-1668-4659-b5e2-40bb5f3a7d7e",
+ "name": "24f8edb6-1668-4659-b5e2-40bb5f3a7d7e",
+ "properties": {
+ "description": "The enrollment reader role gives the user read-only permissions to an Enrollment and its departments and accounts.",
+ "permissions": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentPolicies/read",
+ "Microsoft.Billing/billingAccounts/enrollmentNotificationContacts/read",
+ "Microsoft.Billing/billingAccounts/departments/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read"
+ ]
+ }
+ ],
+ "roleName": "Enrollment reader"
+ },
+ "type": "Microsoft.Billing/billingAccounts/billingRoleDefinitions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json
index af15064c2b47..84fda10e5eb1 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountWithExpand.json
@@ -47,6 +47,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "Direct",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -70,7 +71,8 @@
"name": "invoiceSectionId1",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName1"
+ "displayName": "invoiceSectionName1",
+ "state": "Active"
}
}
]
@@ -94,6 +96,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "IndirectCustomer",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -105,6 +108,11 @@
"skuDescription": "Microsoft Azure Standard"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "33000000-0000-0000-0000-000000000001",
+ "displayName": "Partner1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
@@ -116,7 +124,8 @@
"name": "invoiceSectionId2",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName2"
+ "displayName": "invoiceSectionName2",
+ "state": "Active"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json
index c7dde32c8a76..b66a27ab61f7 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingAccountsListWithExpand.json
@@ -48,6 +48,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "Direct",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -71,7 +72,8 @@
"name": "invoiceSectionId1",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName1"
+ "displayName": "invoiceSectionName1",
+ "state": "Active"
}
},
{
@@ -79,7 +81,8 @@
"name": "invoiceSectionId2",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName2"
+ "displayName": "invoiceSectionName2",
+ "state": "Active"
}
}
]
@@ -103,6 +106,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "CSPPartner",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -125,7 +129,8 @@
"name": "invoiceSectionId11",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName11"
+ "displayName": "invoiceSectionName11",
+ "state": "Active"
}
}
]
@@ -164,6 +169,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "IndirectPartner",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -175,19 +181,30 @@
"skuDescription": "Microsoft Azure Standard"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "20000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "22000000-0000-0000-0000-000000000001",
+ "displayName": "Customer1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
"status": "Warned",
"statusReasonCode": "PastDue",
"spendingLimit": "On",
+ "targetClouds": [
+ "USNat",
+ "USSec"
+ ],
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000004/invoiceSections/invoiceSectionId3",
"name": "invoiceSectionId3",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName3"
+ "displayName": "invoiceSectionName3",
+ "state": "Restricted",
+ "targetCloud": "USNat"
}
},
{
@@ -195,7 +212,9 @@
"name": "invoiceSectionId4",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName4"
+ "displayName": "invoiceSectionName4",
+ "state": "Restricted",
+ "targetCloud": "USSec"
}
}
]
@@ -219,6 +238,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "IndirectCustomer",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -230,19 +250,28 @@
"skuDescription": "Microsoft Azure Standard"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "33000000-0000-0000-0000-000000000001",
+ "displayName": "Partner1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
"status": "Warned",
"statusReasonCode": "PastDue",
"spendingLimit": "On",
+ "targetClouds": [
+ "USSec"
+ ],
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/10000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000/billingProfiles/11000000-0000-0000-0000-000000000005/invoiceSections/invoiceSectionId5",
"name": "invoiceSectionId5",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName5"
+ "displayName": "invoiceSectionName5",
+ "state": "Active"
}
},
{
@@ -250,7 +279,9 @@
"name": "invoiceSectionId6",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName6"
+ "displayName": "invoiceSectionName6",
+ "state": "Restricted",
+ "targetCloud": "USSec"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json
index 794438bcb108..8b42c518e7bc 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfile.json
@@ -24,6 +24,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "Direct",
"currency": "USD",
"enabledAzurePlans": [
{
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json
index 85ac12f6cd22..874d4edd2ac3 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfileWithExpand.json
@@ -24,6 +24,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "Direct",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -47,7 +48,8 @@
"name": "invoiceSectionId1",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName1"
+ "displayName": "invoiceSectionName1",
+ "state": "Active"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json
index f918258a3c84..8b4b9e799cd3 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListByBillingAccount.json
@@ -25,6 +25,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "Direct",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -62,6 +63,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "IndirectCustomer",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -73,11 +75,17 @@
"skuDescription": "Microsoft Azure Standard"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "33000000-0000-0000-0000-000000000001",
+ "displayName": "Partner1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
"status": "Active",
- "spendingLimit": "Off"
+ "spendingLimit": "Off",
+ "targetClouds": []
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json
index 28e98ba64c59..ceda7db974ec 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/BillingProfilesListWithExpand.json
@@ -25,6 +25,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "Direct",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -42,13 +43,15 @@
"status": "Warned",
"statusReasonCode": "PastDue",
"spendingLimit": "On",
+ "targetClouds": [],
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000/invoiceSections/invoiceSectionId1",
"name": "invoiceSectionId1",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName1"
+ "displayName": "invoiceSectionName1",
+ "state": "Active"
}
}
]
@@ -72,6 +75,7 @@
"region": "WA",
"country": "US"
},
+ "billingRelationshipType": "IndirectCustomer",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -83,19 +87,26 @@
"skuDescription": "Microsoft Azure Standard"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "33000000-0000-0000-0000-000000000001",
+ "displayName": "Partner1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
"status": "Warned",
"statusReasonCode": "PastDue",
"spendingLimit": "On",
+ "targetClouds": [],
"invoiceSections": [
{
"id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000001/invoiceSections/invoiceSectionId2",
"name": "invoiceSectionId2",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSectionName2"
+ "displayName": "invoiceSectionName2",
+ "state": "Active"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentPermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentPermissionsList.json
new file mode 100644
index 000000000000..f04ddbe9e449
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentPermissionsList.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "departmentName": "{departmentName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/departments/read",
+ "Microsoft.Billing/billingAccounts/departments/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write"
+ ],
+ "notActions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignment.json
new file mode 100644
index 000000000000..700a91dfd1a7
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignment.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "departmentName": "{departmentName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/bc818868-7ade-4dbe-9a02-d2bef6fddb2f",
+ "name": "bc818868-7ade-4dbe-9a02-d2bef6fddb2f",
+ "properties": {
+ "createdOn": "2019-06-28T19:19:45.5380644+00:00",
+ "createdByUserEmailAddress": "e_admin@billtest900006.onmicrosoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "d_admin@billtest900006.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentDelete.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentDelete.json
new file mode 100644
index 000000000000..700a91dfd1a7
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentDelete.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "departmentName": "{departmentName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/bc818868-7ade-4dbe-9a02-d2bef6fddb2f",
+ "name": "bc818868-7ade-4dbe-9a02-d2bef6fddb2f",
+ "properties": {
+ "createdOn": "2019-06-28T19:19:45.5380644+00:00",
+ "createdByUserEmailAddress": "e_admin@billtest900006.onmicrosoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "d_admin@billtest900006.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentList.json
new file mode 100644
index 000000000000..88b8ca3cd9bf
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleAssignmentList.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "departmentName": "{departmentName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/bc818868-7ade-4dbe-9a02-d2bef6fddb2f",
+ "name": "bc818868-7ade-4dbe-9a02-d2bef6fddb2f",
+ "properties": {
+ "createdOn": "2019-06-28T19:19:45.5380644+00:00",
+ "createdByUserEmailAddress": "e_admin@billtest900006.onmicrosoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "d_admin@billtest900006.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingRoleAssignments"
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/af1239f3-15d9-4faf-800a-673882134d9f",
+ "name": "af1239f3-15d9-4faf-800a-673882134d9f",
+ "properties": {
+ "createdOn": "2019-06-28T19:20:04.1301372+00:00",
+ "createdByUserEmailAddress": "e_admin@billtest900006.onmicrosoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "d_reader@billtest900006.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingRoleAssignments"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinition.json
new file mode 100644
index 000000000000..e6fa37a3cc86
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinition.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "departmentName": "{departmentName}",
+ "billingRoleDefinitionName": "{billingRoleDefinitionName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840",
+ "name": "fb2cf67f-be5b-42e7-8025-4683c668f840",
+ "properties": {
+ "description": "The department administrator role gives the user read/write permissions including access management rights to an Enrollment Department and its accounts.",
+ "permissions": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/departments/read",
+ "Microsoft.Billing/billingAccounts/departments/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write"
+ ]
+ }
+ ],
+ "roleName": "Department administrator"
+ },
+ "type": "Microsoft.Billing/billingAccounts/departments/billingRoleDefinitions"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinitionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinitionsList.json
new file mode 100644
index 000000000000..66508e6e2c86
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/DepartmentRoleDefinitionsList.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "departmentName": "{departmentName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840",
+ "name": "fb2cf67f-be5b-42e7-8025-4683c668f840",
+ "properties": {
+ "description": "The department administrator role gives the user read/write permissions including access management rights to an Enrollment Department and its accounts.",
+ "permissions": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/departments/read",
+ "Microsoft.Billing/billingAccounts/departments/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write"
+ ]
+ }
+ ],
+ "roleName": "Department administrator"
+ },
+ "type": "Microsoft.Billing/billingAccounts/departments/billingRoleDefinitions"
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/db609904-a47f-4794-9be8-9bd86fbffd8a",
+ "name": "db609904-a47f-4794-9be8-9bd86fbffd8a",
+ "properties": {
+ "description": "The department reader role gives the user read-only permissions to an Enrollment Department and its accounts.",
+ "permissions": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/departments/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read"
+ ]
+ }
+ ],
+ "roleName": "Department reader"
+ },
+ "type": "Microsoft.Billing/billingAccounts/departments/billingRoleDefinitions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountPermissionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountPermissionsList.json
new file mode 100644
index 000000000000..19a9f23a6435
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountPermissionsList.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "enrollmentAccountName": "{enrollmentAccountName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write"
+ ],
+ "notActions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignment.json
new file mode 100644
index 000000000000..a29fac860edc
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignment.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "enrollmentAccountName": "{enrollmentAccountName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "properties": {
+ "createdOn": "2019-06-28T19:11:50.6168809+00:00",
+ "createdByUserEmailAddress": "test@billtest900006.onmicrosoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/c15c22c0-9faf-424c-9b7e-bd91c06a240b",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "a_owner@billtest900006.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentDelete.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentDelete.json
new file mode 100644
index 000000000000..a29fac860edc
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentDelete.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "enrollmentAccountName": "{enrollmentAccountName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "properties": {
+ "createdOn": "2019-06-28T19:11:50.6168809+00:00",
+ "createdByUserEmailAddress": "test@billtest900006.onmicrosoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/c15c22c0-9faf-424c-9b7e-bd91c06a240b",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "a_owner@billtest900006.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentList.json
new file mode 100644
index 000000000000..b0f01792a6be
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleAssignmentList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "enrollmentAccountName": "{enrollmentAccountName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "properties": {
+ "createdOn": "2019-06-28T19:11:50.6168809+00:00",
+ "createdByUserEmailAddress": "test@billtest900006.onmicrosoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/c15c22c0-9faf-424c-9b7e-bd91c06a240b",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314",
+ "userAuthenticationType": "Organization",
+ "userEmailAddress": "a_owner@billtest900006.onmicrosoft.com"
+ },
+ "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments"
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleAssignments/56fba638-e6d7-4b66-a051-1ba543b15360",
+ "name": "56fba638-e6d7-4b66-a051-1ba543b15360",
+ "properties": {
+ "createdOn": "2020-05-31T22:51:21.3629303+00:00",
+ "createdByUserEmailAddress": "test@billtest900006.onmicrosoft.com",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314"
+ },
+ "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinition.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinition.json
new file mode 100644
index 000000000000..e9637255739e
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinition.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "enrollmentAccountName": "{enrollmentAccountName}",
+ "billingRoleDefinitionName": "{billingRoleDefinitionName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/c15c22c0-9faf-424c-9b7e-bd91c06a240b",
+ "name": "c15c22c0-9faf-424c-9b7e-bd91c06a240b",
+ "properties": {
+ "description": "The account owner role gives the user read/write permissions to an Enrollment Account.",
+ "permissions": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write"
+ ]
+ }
+ ],
+ "roleName": "Enrollment account owner"
+ },
+ "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleDefinitions"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinitionsList.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinitionsList.json
new file mode 100644
index 000000000000..904a81a37915
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/EnrollmentAccountRoleDefinitionsList.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "enrollmentAccountName": "{enrollmentAccountName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/c15c22c0-9faf-424c-9b7e-bd91c06a240b",
+ "name": "c15c22c0-9faf-424c-9b7e-bd91c06a240b",
+ "properties": {
+ "description": "The account owner role gives the user read/write permissions to an Enrollment Account.",
+ "permissions": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/write",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/read",
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingSubscriptions/write"
+ ]
+ }
+ ],
+ "roleName": "Enrollment account owner"
+ },
+ "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleDefinitions"
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71",
+ "name": "a0bcee42-bf30-4d1b-926a-48d21664ef71",
+ "properties": {
+ "description": "The enrollent account subscription creator role gives the user permissions to create a subscription under the enrollment account.",
+ "permissions": [
+ {
+ "actions": [
+ "Microsoft.Billing/billingAccounts/enrollmentAccounts/read",
+ "Microsoft.Subscription/subscriptions/write"
+ ]
+ }
+ ],
+ "roleName": "Enrollment account subscription creator"
+ },
+ "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleDefinitions"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSection.json
index 90367f326204..8bc11359de83 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSection.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSection.json
@@ -12,7 +12,8 @@
"name": "{invoiceSectionName}",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSection1"
+ "displayName": "invoiceSection1",
+ "state": "Active"
}
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListByBillingProfile.json
index d4da6f96e6f8..63feeba01111 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListByBillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/InvoiceSectionsListByBillingProfile.json
@@ -13,7 +13,8 @@
"name": "22000000-0000-0000-0000-000000000000",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSection1"
+ "displayName": "invoiceSection1",
+ "state": "Active"
}
},
{
@@ -21,7 +22,9 @@
"name": "22000000-0000-0000-0000-000000000011",
"type": "Microsoft.Billing/billingAccounts/billingProfiles/invoiceSections",
"properties": {
- "displayName": "invoiceSection2"
+ "displayName": "invoiceSection2",
+ "state": "Restricted",
+ "targetCloud": "USSec"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json
new file mode 100644
index 000000000000..927ad134c30c
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutAdministratorRoleAssignment.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentName}",
+ "parameters": {
+ "properties": {
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "properties": {
+ "createdOn": "2019-06-28T19:11:50.6168809+00:00",
+ "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9",
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/billingRoleDefinitions/9f1983cb-2574-400c-87e9-34cf8e2280db",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901"
+ },
+ "type": "Microsoft.Billing/billingAccounts/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentAccountSubscriptionCreatorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentAccountSubscriptionCreatorRoleAssignment.json
new file mode 100644
index 000000000000..e5d3b2ed0dae
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentAccountSubscriptionCreatorRoleAssignment.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "enrollmentAccountName": "{enrollmentAccountName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentName}",
+ "parameters": {
+ "properties": {
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "properties": {
+ "createdOn": "2019-06-28T19:11:50.6168809+00:00",
+ "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9",
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314/billingRoleDefinitions/a0bcee42-bf30-4d1b-926a-48d21664ef71",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/enrollmentAccounts/225314"
+ },
+ "type": "Microsoft.Billing/billingAccounts/enrollmentAccounts/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json
new file mode 100644
index 000000000000..ad30ee9ed1f0
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/PutEnrollmentDepartmentAdministratorRoleAssignment.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "departmentName": "{departmentName}",
+ "billingRoleAssignmentName": "{billingRoleAssignmentName}",
+ "parameters": {
+ "properties": {
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleAssignments/9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "name": "9dfd08c2-62a3-4d47-85bd-1cdba1408402",
+ "properties": {
+ "createdOn": "2019-06-28T19:11:50.6168809+00:00",
+ "createdByPrincipalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "createdByPrincipalId": "60d97094-2be4-46cc-a4fe-3633021a25b9",
+ "principalId": "99a1a759-30dd-42c2-828c-db398826bb67",
+ "principalTenantId": "7ca289b9-c32d-4f01-8566-7ff93261d76f",
+ "roleDefinitionId": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603/billingRoleDefinitions/fb2cf67f-be5b-42e7-8025-4683c668f840",
+ "scope": "/providers/Microsoft.Billing/billingAccounts/7898901/departments/97603"
+ },
+ "type": "Microsoft.Billing/billingAccounts/departments/billingRoleAssignments"
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilityFailure.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilityFailure.json
new file mode 100644
index 000000000000..86939989e18c
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilityFailure.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isEligible": false,
+ "errorDetails": [
+ {
+ "code": "AzureSubscriptions",
+ "message": "Payment method cannot be detached as there are active or disabled azure subscriptions on this billing profile."
+ },
+ {
+ "code": "RecurringCharges",
+ "message": "Payment method cannot be detached as there are recurring charges on this billing profile."
+ },
+ {
+ "code": "ReservedInstances",
+ "message": "Payment method cannot be detached as there are reserved instances on this billing profile."
+ },
+ {
+ "code": "OutstandingCharges",
+ "message": "Payment method cannot be detached as there are unpaid outstanding charges on this billing profile."
+ },
+ {
+ "code": "PendingCharges",
+ "message": "Payment method cannot be detached as there are pending charges accumulating on this billing profile."
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilitySuccess.json b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilitySuccess.json
new file mode 100644
index 000000000000..f7a1716c1685
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/preview/2019-10-01-preview/examples/ValidateDetachPaymentMethodEligibilitySuccess.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01-preview",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "isEligible": true
+ }
+ }
+ }
+}
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 873581679036..fecbec2a08c9 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
@@ -1064,6 +1064,9 @@
"x-ms-examples": {
"BillingAccountInvoicesList": {
"$ref": "./examples/BillingAccountInvoicesList.json"
+ },
+ "BillingAccountInvoicesListWithRebillDetails": {
+ "$ref": "./examples/BillingAccountInvoicesListWithRebillDetails.json"
}
},
"operationId": "Invoices_ListByBillingAccount",
@@ -1120,6 +1123,9 @@
"x-ms-examples": {
"InvoicesListByBillingProfile": {
"$ref": "./examples/InvoicesListByBillingProfile.json"
+ },
+ "InvoicesListByBillingProfileWithRebillDetails": {
+ "$ref": "./examples/InvoicesListByBillingProfileWithRebillDetails.json"
}
},
"operationId": "Invoices_ListByBillingProfile",
@@ -1179,6 +1185,15 @@
"x-ms-examples": {
"Invoice": {
"$ref": "./examples/Invoice.json"
+ },
+ "InvoiceWithRebillDetails": {
+ "$ref": "./examples/InvoiceWithRebillDetails.json"
+ },
+ "VoidInvoice": {
+ "$ref": "./examples/VoidInvoice.json"
+ },
+ "CreditNote": {
+ "$ref": "./examples/CreditNote.json"
}
},
"operationId": "Invoices_Get",
@@ -4164,10 +4179,30 @@
"description": "The purchase order name that will appear on the invoices generated for the billing profile.",
"type": "string"
},
+ "billingRelationshipType": {
+ "description": "Identifies which services and purchases are paid by a billing profile.",
+ "type": "string",
+ "enum": [
+ "Direct",
+ "IndirectCustomer",
+ "IndirectPartner",
+ "CSPPartner"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "BillingRelationshipType",
+ "modelAsString": true
+ }
+ },
"billTo": {
"description": "Billing address.",
"$ref": "#/definitions/AddressDetails"
},
+ "indirectRelationshipInfo": {
+ "description": "Identifies the billing profile that is linked to another billing profile in indirect purchase motion.",
+ "readOnly": true,
+ "$ref": "#/definitions/IndirectRelationshipInfo"
+ },
"invoiceEmailOptIn": {
"description": "Flag controlling whether the invoices for the billing profile are sent through email.",
"type": "boolean"
@@ -4243,6 +4278,14 @@
"name": "SpendingLimit",
"modelAsString": true
}
+ },
+ "targetClouds": {
+ "description": "Identifies the cloud environments that are associated with a billing profile. This is a system managed optional field and gets updated as the billing profile gets associated with accounts in various clouds.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/TargetCloud"
+ }
}
}
},
@@ -4324,6 +4367,23 @@
}
}
},
+ "IndirectRelationshipInfo": {
+ "description": "The billing profile details of the partner of the customer for an indirect motion.",
+ "properties": {
+ "billingAccountName": {
+ "description": "The billing account name of the partner or the customer for an indirect motion.",
+ "type": "string"
+ },
+ "billingProfileName": {
+ "description": "The billing profile name of the partner or the customer for an indirect motion.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "The display name of the partner or customer for an indirect motion.",
+ "type": "string"
+ }
+ }
+ },
"InvoiceSectionCreationRequest": {
"description": "The properties of the invoice section.",
"properties": {
@@ -4382,10 +4442,28 @@
},
"maxItems": 1000
},
+ "state": {
+ "description": "Identifies the state of an invoice section.",
+ "type": "string",
+ "enum": [
+ "Active",
+ "Restricted"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "InvoiceSectionState",
+ "modelAsString": true
+ }
+ },
"systemId": {
"description": "The system generated unique identifier for an invoice section.",
"type": "string",
"readOnly": true
+ },
+ "targetCloud": {
+ "description": "Identifies the cloud environments that are associated with an invoice section. This is a system managed optional field and gets updated as the invoice section gets associated with accounts in various clouds.",
+ "$ref": "#/definitions/TargetCloud",
+ "readOnly": true
}
}
},
@@ -4641,7 +4719,8 @@
"enum": [
"Due",
"OverDue",
- "Paid"
+ "Paid",
+ "Void"
],
"readOnly": true,
"x-ms-enum": {
@@ -4751,6 +4830,38 @@
"$ref": "#/definitions/PaymentProperties"
}
},
+ "rebillDetails": {
+ "description": "Rebill details for an invoice.",
+ "type": "object",
+ "readOnly": true,
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/RebillDetails"
+ }
+ },
+ "documentType": {
+ "description": "The type of the document.",
+ "type": "string",
+ "enum": [
+ "Invoice",
+ "CreditNote"
+ ],
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "InvoiceDocumentType",
+ "modelAsString": true
+ }
+ },
+ "billedDocumentId": {
+ "description": "The Id of the active invoice which is originally billed after this invoice was voided. This field is applicable to the void invoices only.",
+ "type": "string",
+ "readOnly": true
+ },
+ "creditForDocumentId": {
+ "description": "The Id of the invoice which got voided and this credit note was issued as a result. This field is applicable to the credit notes only.",
+ "type": "string",
+ "readOnly": true
+ },
"subscriptionId": {
"description": "The ID of the subscription for which the invoice is generated.",
"type": "string",
@@ -4798,6 +4909,30 @@
}
}
},
+ "RebillDetails": {
+ "description": "The rebill details of an invoice.",
+ "properties": {
+ "creditNoteDocumentId": {
+ "description": "The ID of credit note.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceDocumentId": {
+ "description": "The ID of invoice.",
+ "type": "string",
+ "readOnly": true
+ },
+ "rebillDetails": {
+ "description": "Rebill details for an invoice.",
+ "type": "object",
+ "readOnly": true,
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/RebillDetails"
+ }
+ }
+ }
+ },
"Document": {
"description": "The properties of a document.",
"properties": {
@@ -5214,6 +5349,19 @@
}
}
},
+ "TargetCloud": {
+ "type": "string",
+ "description": "Possible cloud environments.",
+ "enum": [
+ "USGov",
+ "USNat",
+ "USSec"
+ ],
+ "x-ms-enum": {
+ "name": "targetCloud",
+ "modelAsString": true
+ }
+ },
"TransactionListResult": {
"description": "The list of transactions.",
"properties": {
@@ -5689,18 +5837,15 @@
},
"principalId": {
"description": "The principal id of the user to whom the role was assigned.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"principalTenantId": {
"description": "The principal tenant id of the user to whom the role was assigned.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"roleDefinitionId": {
"description": "The ID of the role definition.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"scope": {
"description": "The scope at which the role was assigned.",
@@ -5709,13 +5854,11 @@
},
"userAuthenticationType": {
"description": "The authentication type.",
- "type": "string",
- "readOnly": true
+ "type": "string"
},
"userEmailAddress": {
"description": "The email address of the user.",
- "type": "string",
- "readOnly": true
+ "type": "string"
}
}
},
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json
index 843c4e2bc85a..d95c28a8d7a4 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesList.json
@@ -55,6 +55,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "Invoice",
@@ -122,6 +123,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "TaxReceipt",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json
new file mode 100644
index 000000000000..6a6f68ce064d
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountInvoicesListWithRebillDetails.json
@@ -0,0 +1,161 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "periodStartDate": "2018-01-01",
+ "periodEndDate": "2018-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000003",
+ "name": "I000003",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Due",
+ "amountDue": {
+ "currency": "USD",
+ "value": 8.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 25.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 7.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ],
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002",
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001",
+ "rebillDetails": null
+ }
+ }
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/1383724",
+ "name": "1383724",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-03-01T17:32:28Z",
+ "invoiceDate": "2018-02-01T17:32:28Z",
+ "status": "PastDue",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-02-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-02-28T17:32:28Z",
+ "isMonthlyInvoice": true,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/11000000-0000-0000-0000-000000000000",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxreceipt.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountWithExpand.json
index fc45287d5e7a..bfc17275c61b 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountWithExpand.json
@@ -38,6 +38,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "BillingProfile1",
+ "billingRelationshipType": "Direct",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
@@ -84,6 +85,7 @@
"pcCode": "A123456",
"costCategory": "Support"
},
+ "state": "Active",
"systemId": "9XXX-11XX-XX1-XXXX-XXX"
}
}
@@ -97,6 +99,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "BillingProfile2",
+ "billingRelationshipType": "IndirectCustomer",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
@@ -122,6 +125,11 @@
"skuDescription": "Microsoft Azure Plan for DevTest"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "33000000-0000-0000-0000-000000000001",
+ "displayName": "Partner1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
@@ -142,6 +150,7 @@
"pcCode": "Z223456",
"costCategory": "Marketing"
},
+ "state": "Active",
"systemId": "9XXX-22XX-XX1-XXXX-XXX"
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpand.json
index 840377864089..d16532b2d9e6 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingAccountsListWithExpand.json
@@ -39,6 +39,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "BillingProfile1",
+ "billingRelationshipType": "Direct",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
@@ -85,6 +86,7 @@
"pcCode": "A123456",
"costCategory": "Support"
},
+ "state": "Active",
"systemId": "9XXX-11XX-XX1-XXXX-XXX"
}
},
@@ -98,6 +100,7 @@
"pcCode": "B223456",
"costCategory": "Finance"
},
+ "state": "Active",
"systemId": "9XXX-22XX-XX1-XXXX-XXX"
}
}
@@ -111,6 +114,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "BillingProfile2",
+ "billingRelationshipType": "CSPPartner",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
@@ -156,6 +160,7 @@
"pcCode": "Z223456",
"costCategory": "Marketing"
},
+ "state": "Active",
"systemId": "9XXX-33XX-XX1-XXXX-XXX"
}
}
@@ -201,6 +206,7 @@
"email": "abc@contoso.com",
"phoneNumber": "000-000-0000"
},
+ "billingRelationshipType": "IndirectPartner",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -212,6 +218,11 @@
"skuDescription": "Microsoft Azure Plan for DevTest"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "20000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "22000000-0000-0000-0000-000000000001",
+ "displayName": "Customer1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
@@ -220,6 +231,10 @@
"status": "Warned",
"statusReasonCode": "PastDue",
"spendingLimit": "On",
+ "targetClouds": [
+ "USNat",
+ "USSec"
+ ],
"invoiceSections": {
"hasMoreResults": true,
"value": [
@@ -233,7 +248,9 @@
"pcCode": "C123456",
"costCategory": "Support"
},
- "systemId": "9XXX-44XX-XX1-XXXX-XXX"
+ "state": "Restricted",
+ "systemId": "9XXX-44XX-XX1-XXXX-XXX",
+ "targetCloud": "USNat"
}
},
{
@@ -246,7 +263,9 @@
"pcCode": "D123456",
"costCategory": "Marketing"
},
- "systemId": "9XXX-55XX-XX1-XXXX-XXX"
+ "state": "Restricted",
+ "systemId": "9XXX-55XX-XX1-XXXX-XXX",
+ "targetCloud": "USSec"
}
}
]
@@ -273,6 +292,7 @@
"email": "abc@contoso.com",
"phoneNumber": "000-000-0000"
},
+ "billingRelationshipType": "IndirectCustomer",
"currency": "USD",
"enabledAzurePlans": [
{
@@ -284,6 +304,11 @@
"skuDescription": "Microsoft Azure Plan for DevTest"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "33000000-0000-0000-0000-000000000001",
+ "displayName": "Partner1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
@@ -292,6 +317,9 @@
"status": "Warned",
"statusReasonCode": "PastDue",
"spendingLimit": "On",
+ "targetClouds": [
+ "USSec"
+ ],
"invoiceSections": {
"hasMoreResults": true,
"value": [
@@ -305,6 +333,7 @@
"pcCode": "E123456",
"costCategory": "Finance"
},
+ "state": "Active",
"systemId": "9XXX-66XX-XX1-XXXX-XXX"
}
},
@@ -318,7 +347,9 @@
"pcCode": "O123456",
"costCategory": "Support"
},
- "systemId": "9XXX-77XX-XX1-XXXX-XXX"
+ "state": "Restricted",
+ "systemId": "9XXX-77XX-XX1-XXXX-XXX",
+ "targetCloud": "USSec"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfile.json
index a8dcf52150fa..fee326aec912 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfile.json
@@ -12,6 +12,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "Billing Profile1",
+ "billingRelationshipType": "Direct",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileWithExpand.json
index ef48d861b956..4ac97a6afd66 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfileWithExpand.json
@@ -13,6 +13,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "Billing Profile1",
+ "billingRelationshipType": "Direct",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
@@ -59,6 +60,7 @@
"pcCode": "A123456",
"costCategory": "Support"
},
+ "state": "Active",
"systemId": "9XXX-11XX-XX1-XXXX-XXX"
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListByBillingAccount.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListByBillingAccount.json
index d3d8175d403d..8172fc6e2158 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListByBillingAccount.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListByBillingAccount.json
@@ -13,6 +13,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "BillingProfile1",
+ "billingRelationshipType": "Direct",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
@@ -54,6 +55,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "BillingProfile2",
+ "billingRelationshipType": "IndirectCustomer",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
@@ -79,13 +81,19 @@
"skuDescription": "Microsoft Azure Plan for DevTest"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "33000000-0000-0000-0000-000000000001",
+ "displayName": "Partner1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
"hasReadAccess": true,
"systemId": "2XXX-22XX-XX1-XXXX-XXX",
"status": "Active",
- "spendingLimit": "Off"
+ "spendingLimit": "Off",
+ "targetClouds": []
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListWithExpand.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListWithExpand.json
index 85a10f54a285..235fbb7e67ac 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListWithExpand.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/BillingProfilesListWithExpand.json
@@ -14,6 +14,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "BillingProfile1",
+ "billingRelationshipType": "Direct",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
@@ -47,6 +48,7 @@
"status": "Warned",
"statusReasonCode": "PastDue",
"spendingLimit": "On",
+ "targetClouds": [],
"invoiceSections": {
"hasMoreResults": false,
"value": [
@@ -60,6 +62,7 @@
"pcCode": "A123456",
"costCategory": "Support"
},
+ "state": "Active",
"systemId": "9XXX-11XX-XX1-XXXX-XXX"
}
}
@@ -73,6 +76,7 @@
"type": "Microsoft.Billing/billingAccounts/billingProfiles",
"properties": {
"displayName": "BillingProfile2",
+ "billingRelationshipType": "IndirectCustomer",
"billTo": {
"companyName": "Contoso",
"firstName": "Test",
@@ -98,6 +102,11 @@
"skuDescription": "Microsoft Azure Plan for DevTest"
}
],
+ "indirectRelationshipInfo": {
+ "billingAccountName": "30000000-0000-0000-0000-000000000001_00000000-0000-0000-0000-000000000000",
+ "billingProfileName": "33000000-0000-0000-0000-000000000001",
+ "displayName": "Partner1"
+ },
"invoiceDay": 5,
"invoiceEmailOptIn": true,
"poNumber": "ABC12345",
@@ -106,6 +115,7 @@
"status": "Warned",
"statusReasonCode": "PastDue",
"spendingLimit": "On",
+ "targetClouds": [],
"invoiceSections": {
"hasMoreResults": false,
"value": [
@@ -119,6 +129,7 @@
"pcCode": "Z223456",
"costCategory": "Marketing"
},
+ "state": "Active",
"systemId": "9XXX-22XX-XX1-XXXX-XXX"
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json
new file mode 100644
index 000000000000..436f1f56ee11
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/CreditNote.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "invoiceName": "{invoiceName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
+ "name": "{invoiceName}",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Paid",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "CreditNote",
+ "creditForDocumentId": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json
index a956b6a06d95..431057fff203 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/Invoice.json
@@ -7,7 +7,7 @@
"responses": {
"200": {
"body": {
- "id": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
"name": "{invoiceName}",
"type": "Microsoft.Billing/billingAccounts/invoices",
"properties": {
@@ -52,6 +52,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "Invoice",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSection.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSection.json
index c751111a6438..0329f3a9ee64 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSection.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSection.json
@@ -17,6 +17,7 @@
"pcCode": "A123456",
"costCategory": "Support"
},
+ "state": "Active",
"systemId": "XX1X-XXAA-XXX-ZZZ"
}
}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListByBillingProfile.json
index e3bda0d87fb7..14dd48605423 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListByBillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceSectionsListByBillingProfile.json
@@ -18,6 +18,7 @@
"pcCode": "A123456",
"costCategory": "Support"
},
+ "state": "Active",
"systemId": "XX1X-XXAA-XXX-ZZZ"
}
},
@@ -31,7 +32,9 @@
"pcCode": "Z223456",
"costCategory": "Marketing"
},
- "systemId": "YY1X-BBAA-XXX-ZZZ"
+ "state": "Restricted",
+ "systemId": "YY1X-BBAA-XXX-ZZZ",
+ "targetCloud": "USSec"
}
}
]
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json
new file mode 100644
index 000000000000..7d9962a235e2
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoiceWithRebillDetails.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "invoiceName": "{invoiceName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
+ "name": "{invoiceName}",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Due",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ],
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002",
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001",
+ "rebillDetails": null
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json
index f2dd0ffc9c42..c3300eaa6ae8 100644
--- a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfile.json
@@ -56,6 +56,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "Invoice",
@@ -128,6 +129,7 @@
"billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
"billingProfileDisplayName": "Contoso Operations Billing",
"purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
"documents": [
{
"kind": "Invoice",
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json
new file mode 100644
index 000000000000..e86609b85ef8
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/InvoicesListByBillingProfileWithRebillDetails.json
@@ -0,0 +1,172 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "billingProfileName": "{billingProfileName}",
+ "periodStartDate": "2018-01-01",
+ "periodEndDate": "2018-06-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000003",
+ "name": "I000003",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Due",
+ "amountDue": {
+ "currency": "USD",
+ "value": 8.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 25.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 7.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 1.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ],
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote2",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002",
+ "rebillDetails": {
+ "creditNoteDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/CreditNote1",
+ "invoiceDocumentId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000001",
+ "rebillDetails": null
+ }
+ }
+ }
+ },
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/1383724",
+ "name": "1383724",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-03-01T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Due",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-02-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-02-28T17:32:28Z",
+ "isMonthlyInvoice": true,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json
new file mode 100644
index 000000000000..30e3f1b71cbe
--- /dev/null
+++ b/specification/billing/resource-manager/Microsoft.Billing/stable/2020-05-01/examples/VoidInvoice.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01",
+ "billingAccountName": "{billingAccountName}",
+ "invoiceName": "{invoiceName}"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/{invoiceName}",
+ "name": "{invoiceName}",
+ "type": "Microsoft.Billing/billingAccounts/invoices",
+ "properties": {
+ "dueDate": "2018-01-16T17:32:28Z",
+ "invoiceDate": "2018-01-01T17:32:28Z",
+ "status": "Void",
+ "amountDue": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "billedAmount": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "azurePrepaymentApplied": {
+ "currency": "USD",
+ "value": 15.46
+ },
+ "creditAmount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "freeAzureCreditApplied": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "subTotal": {
+ "currency": "USD",
+ "value": 33.99
+ },
+ "taxAmount": {
+ "currency": "USD",
+ "value": 0.00
+ },
+ "totalAmount": {
+ "currency": "USD",
+ "value": 16.53
+ },
+ "invoicePeriodStartDate": "2018-01-01T17:32:28Z",
+ "invoicePeriodEndDate": "2018-01-15T17:32:28Z",
+ "isMonthlyInvoice": false,
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/{billingAccountName}/billingProfiles/{billingProfileName}",
+ "billingProfileDisplayName": "Contoso Operations Billing",
+ "purchaseOrderNumber": "123456",
+ "documentType": "Invoice",
+ "billedDocumentId": "providers/Microsoft.Billing/billingAccounts/{billingAccountName}/invoices/I000002",
+ "documents": [
+ {
+ "kind": "Invoice",
+ "url": "https://microsoft.com/invoice.pdf",
+ "source": "DRS"
+ },
+ {
+ "kind": "TaxReceipt",
+ "url": "https://microsoft.com/taxDoc.pdf",
+ "source": "DRS"
+ }
+ ],
+ "payments": [
+ {
+ "date": "2018-01-14T17:32:28Z",
+ "paymentType": "credited",
+ "amount": {
+ "currency": "USD",
+ "value": 2.00
+ },
+ "paymentMethodFamily": "CreditCard",
+ "paymentMethodType": "visa"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/billing/resource-manager/readme.azureresourceschema.md b/specification/billing/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..e7e163b7b60e
--- /dev/null
+++ b/specification/billing/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,85 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-billing-2020-05-01
+ - tag: schema-billing-2019-10-01-preview
+ - tag: schema-billing-2018-11-01-preview
+ - tag: schema-billing-2018-03-01-preview
+ - tag: schema-billing-2017-04-24-preview
+ - tag: schema-billing-2017-02-27-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-billing-2020-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2020-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/stable/2020-05-01/billing.json
+
+```
+
+### Tag: schema-billing-2019-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2019-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2019-10-01-preview/billing.json
+
+```
+
+### Tag: schema-billing-2018-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2018-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2018-11-01-preview/billing.json
+
+```
+
+### Tag: schema-billing-2018-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2018-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
+ - Microsoft.Billing/preview/2018-03-01-preview/billing.json
+
+```
+
+### Tag: schema-billing-2017-04-24-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2017-04-24-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2017-04-24-preview/billing.json
+
+```
+
+### Tag: schema-billing-2017-02-27-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-billing-2017-02-27-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Billing/preview/2017-02-27-preview/billing.json
+
+```
diff --git a/specification/billing/resource-manager/readme.go.md b/specification/billing/resource-manager/readme.go.md
index f6bf507cb97e..0fcef38b70b7 100644
--- a/specification/billing/resource-manager/readme.go.md
+++ b/specification/billing/resource-manager/readme.go.md
@@ -26,7 +26,7 @@ These settings apply only when `--tag=package-2020-05 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2020-05' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-05-01-preview/$(namespace)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-05-01/$(namespace)
```
### Tag: package-2018-11-preview and go
diff --git a/specification/billing/resource-manager/readme.md b/specification/billing/resource-manager/readme.md
index 31988a610128..a28cc4e5784c 100644
--- a/specification/billing/resource-manager/readme.md
+++ b/specification/billing/resource-manager/readme.md
@@ -36,6 +36,7 @@ These settings apply only when `--tag=package-2020-05` is specified on the comma
``` yaml $(tag) == 'package-2020-05'
input-file:
- Microsoft.Billing/stable/2020-05-01/billing.json
+- Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
```
### Tag: package-2019-10-preview
@@ -103,6 +104,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_billing']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js billing/resource-manager
```
@@ -230,6 +234,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -243,6 +251,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.Billing/stable/2020-05-01/billing.json
+ - $(this-folder)/Microsoft.Billing/preview/2018-03-01-preview/billingV2.json
- $(this-folder)/Microsoft.Billing/preview/2019-10-01-preview/billing.json
- $(this-folder)/Microsoft.Billing/preview/2018-11-01-preview/billing.json
- $(this-folder)/Microsoft.Billing/preview/2018-03-01-preview/billing.json
diff --git a/specification/billing/resource-manager/readme.ruby.md b/specification/billing/resource-manager/readme.ruby.md
index fcb9843607a5..b56bbe03fe6b 100644
--- a/specification/billing/resource-manager/readme.ruby.md
+++ b/specification/billing/resource-manager/readme.ruby.md
@@ -12,6 +12,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2020-05
- tag: package-2017-04-preview
- tag: package-2017-02-preview
```
@@ -22,7 +23,7 @@ These settings apply only when `--tag=package-2020-05 --ruby` is specified on th
Please also specify `--ruby-sdks-folder=`.
``` yaml $(tag) == 'package-2020-05' && $(ruby)
-namespace: "Azure::Billing::Mgmt::V2020_05"
+namespace: "Azure::Billing::Mgmt::V2020_05_01"
output-folder: $(ruby-sdks-folder)/management/azure_mgmt_billing/lib
```
diff --git a/specification/blockchain/resource-manager/readme.azureresourceschema.md b/specification/blockchain/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..01c28ae04c95
--- /dev/null
+++ b/specification/blockchain/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-blockchain-2018-06-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-blockchain-2018-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-blockchain-2018-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Blockchain/preview/2018-06-01-preview/blockchain.json
+
+```
diff --git a/specification/blockchain/resource-manager/readme.md b/specification/blockchain/resource-manager/readme.md
index 806fc6ac3e2d..cab2a3ebe290 100644
--- a/specification/blockchain/resource-manager/readme.md
+++ b/specification/blockchain/resource-manager/readme.md
@@ -59,6 +59,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_blockchain']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js blockchain/resource-manager
```
## C#
@@ -86,6 +89,10 @@ See configuration in [readme.node.md](./readme.node.md)
See configuration in [readme.ruby.md](./readme.ruby.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
index 1d3bca28c7a1..fa492a9e78a1 100644
--- a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
@@ -128,8 +128,14 @@
"Assignment_Delete at subscription scope": {
"$ref": "./examples/subscriptionBPAssignment/BlueprintAssignment_Delete.json"
},
+ "Assignment_Delete at subscription scope, and delete the resources created by the assignment": {
+ "$ref": "./examples/subscriptionBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json"
+ },
"Assignment_Delete at management group scope": {
"$ref": "./examples/managementGroupBPAssignment/BlueprintAssignment_Delete.json"
+ },
+ "Assignment_Delete at management group scope, and delete the resources created by the assignment": {
+ "$ref": "./examples/managementGroupBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json"
}
},
"parameters": [
@@ -141,6 +147,21 @@
},
{
"$ref": "#/parameters/AssignmentNameParameter"
+ },
+ {
+ "name": "deleteBehavior",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "none",
+ "all"
+ ],
+ "x-ms-enum": {
+ "name": "AssignmentDeleteBehavior",
+ "modelAsString": true
+ },
+ "description": "When deleteBehavior=all, the resources that were created by the blueprint assignment will be deleted."
}
],
"responses": {
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json
new file mode 100644
index 000000000000..a509fb9f825c
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/managementGroupBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "resourceScope": "managementGroups/ContosoOnlineGroup",
+ "assignmentName": "assignSimpleBlueprint",
+ "deleteBehavior": "all"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ },
+ "location": "eastus",
+ "properties": {
+ "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.",
+ "provisioningState": "deleting",
+ "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "storageAccountType": {
+ "value": "Standard_LRS"
+ },
+ "costCenter": {
+ "value": "Contoso/Online/Shopping/Production"
+ },
+ "owners": {
+ "value": [
+ "johnDoe@contoso.com",
+ "johnsteam@contoso.com"
+ ]
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "name": "defaultRG",
+ "location": "eastus"
+ }
+ }
+ },
+ "id": "/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint",
+ "type": "Microsoft.Blueprint/Assignment",
+ "name": "assignSimpleBlueprint"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json
new file mode 100644
index 000000000000..c182f4a9423d
--- /dev/null
+++ b/specification/blueprint/resource-manager/Microsoft.Blueprint/preview/2018-11-01-preview/examples/subscriptionBPAssignment/BlueprintAssignment_Delete_AndDeleteChildren.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2018-11-01-preview",
+ "resourceScope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "assignmentName": "assignSimpleBlueprint",
+ "deleteBehavior": "all"
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "identity": {
+ "type": "SystemAssigned",
+ "tenantId": "00000000-0000-0000-0000-000000000000",
+ "principalId": "00000000-0000-0000-0000-000000000000"
+ },
+ "location": "eastus",
+ "properties": {
+ "description": "enforce pre-defined simpleBlueprint to this XXXXXXXX subscription.",
+ "provisioningState": "deleting",
+ "blueprintId": "/providers/Microsoft.Management/managementGroups/ContosoOnlineGroup/providers/Microsoft.Blueprint/blueprints/simpleBlueprint",
+ "parameters": {
+ "storageAccountType": {
+ "value": "Standard_LRS"
+ },
+ "costCenter": {
+ "value": "Contoso/Online/Shopping/Production"
+ },
+ "owners": {
+ "value": [
+ "johnDoe@contoso.com",
+ "johnsteam@contoso.com"
+ ]
+ }
+ },
+ "resourceGroups": {
+ "storageRG": {
+ "name": "defaultRG",
+ "location": "eastus"
+ }
+ }
+ },
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Blueprint/blueprintAssignments/assignSimpleBlueprint",
+ "type": "Microsoft.Blueprint/Assignment",
+ "name": "assignSimpleBlueprint"
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/blueprint/resource-manager/readme.azureresourceschema.md b/specification/blueprint/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..4e9a1ed8e02a
--- /dev/null
+++ b/specification/blueprint/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,39 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-blueprint-2018-11-01-preview
+ - tag: schema-blueprint-2017-11-11-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-blueprint-2018-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-blueprint-2018-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintDefinition.json
+ - Microsoft.Blueprint/preview/2018-11-01-preview/blueprintAssignment.json
+ - Microsoft.Blueprint/preview/2018-11-01-preview/assignmentOperation.json
+
+```
+
+### Tag: schema-blueprint-2017-11-11-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-blueprint-2017-11-11-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintDefinition.json
+ - Microsoft.Blueprint/preview/2017-11-11-preview/blueprintAssignment.json
+
+```
diff --git a/specification/blueprint/resource-manager/readme.md b/specification/blueprint/resource-manager/readme.md
index 5fbee9859aa1..d39803123cf1 100644
--- a/specification/blueprint/resource-manager/readme.md
+++ b/specification/blueprint/resource-manager/readme.md
@@ -63,6 +63,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-python
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js blueprint/resource-manager
```
@@ -131,6 +134,10 @@ directive:
reason: OperationsAPI for Microsoft.Management is out of scope.
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/botservice.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/botservice.json
new file mode 100644
index 000000000000..4253a275b423
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/botservice.json
@@ -0,0 +1,2561 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Azure Bot Service",
+ "description": "Azure Bot Service is a platform for creating smart conversational agents.",
+ "version": "2020-06-02"
+ },
+ "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.BotService/botServices/{resourceName}": {
+ "put": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Creates a Bot Service. Bot Service is a resource group wide resource type.",
+ "operationId": "Bots_Create",
+ "x-ms-examples": {
+ "Create Bot": {
+ "$ref": "./examples/CreateBot.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is created successfully or already existed, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Updates a Bot Service",
+ "operationId": "Bots_Update",
+ "x-ms-examples": {
+ "Update Bot": {
+ "$ref": "./examples/UpdateBot.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "201": {
+ "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Deletes a Bot Service from the resource group. ",
+ "operationId": "Bots_Delete",
+ "x-ms-examples": {
+ "Delete Bot": {
+ "$ref": "./examples/DeleteBot.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
+ },
+ "204": {
+ "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Returns a BotService specified by the parameters.",
+ "operationId": "Bots_Get",
+ "x-ms-examples": {
+ "Get Bot": {
+ "$ref": "./examples/GetBot.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/Bot"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices": {
+ "get": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Returns all the resources of a particular type belonging to a resource group",
+ "operationId": "Bots_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Bots by Resource Group": {
+ "$ref": "./examples/ListBotsByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/BotResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/botServices": {
+ "get": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Returns all the resources of a particular type belonging to a subscription.",
+ "operationId": "Bots_List",
+ "x-ms-examples": {
+ "List Bots by Subscription": {
+ "$ref": "./examples/ListBotsBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. If a resource provider does not support paging, it should return the same body but leave nextLink empty for future compatibility.\nFor a detailed explanation of each field in the response body, please refer to the request body description in the PUT resource section. ",
+ "schema": {
+ "$ref": "#/definitions/BotResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}": {
+ "put": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Creates a Channel registration for a Bot Service",
+ "operationId": "Channels_Create",
+ "x-ms-examples": {
+ "Create Bot": {
+ "$ref": "./examples/PutChannel.json"
+ },
+ "Create Alexa Bot": {
+ "$ref": "./examples/PutAlexaChannel.json"
+ },
+ "Create Line Bot": {
+ "$ref": "./examples/PutLineChannel.json"
+ },
+ "Create DirectLine Speech Bot": {
+ "$ref": "./examples/PutDirectLineSpeechChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/channelNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is created successfully or already existed, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Updates a Channel registration for a Bot Service",
+ "operationId": "Channels_Update",
+ "x-ms-examples": {
+ "Update Bot": {
+ "$ref": "./examples/UpdateChannel.json"
+ },
+ "Update Alexa": {
+ "$ref": "./examples/UpdateAlexaChannel.json"
+ },
+ "Update Line": {
+ "$ref": "./examples/UpdateLineChannel.json"
+ },
+ "Update DirectLine Speech": {
+ "$ref": "./examples/UpdateDirectLineSpeechChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/channelNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "x-ms-client-flatten": true,
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ },
+ "description": "The parameters to provide for the created bot."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "201": {
+ "description": "If resource is updated successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Deletes a Channel registration from a Bot Service",
+ "operationId": "Channels_Delete",
+ "x-ms-examples": {
+ "Delete Bot": {
+ "$ref": "./examples/DeleteChannel.json"
+ },
+ "Delete DirectLine Speech Bot": {
+ "$ref": "./examples/DeleteDirectLineSpeechChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "channelName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
+ },
+ "204": {
+ "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Returns a BotService Channel registration specified by the parameters.",
+ "operationId": "Channels_Get",
+ "x-ms-examples": {
+ "Get Bot": {
+ "$ref": "./examples/GetChannel.json"
+ },
+ "Get Alexa Bot": {
+ "$ref": "./examples/GetAlexaChannel.json"
+ },
+ "Get Line Bot": {
+ "$ref": "./examples/GetLineChannel.json"
+ },
+ "Get DirectLine Speech Bot": {
+ "$ref": "./examples/GetDirectLineSpeechChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "name": "channelName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/listChannelWithKeys": {
+ "post": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Lists a Channel registration for a Bot Service including secrets",
+ "operationId": "Channels_ListWithKeys",
+ "x-ms-examples": {
+ "List Channel": {
+ "$ref": "./examples/ListChannel.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/channelNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is retrieved successfully, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels": {
+ "get": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Returns all the Channel registrations of a particular BotService resource",
+ "operationId": "Channels_ListByResourceGroup",
+ "x-ms-examples": {
+ "List Bots by Resource Group": {
+ "$ref": "./examples/ListChannelsByBotService.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/ChannelResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/channels/{channelName}/regeneratekeys": {
+ "post": {
+ "tags": [
+ "Channel"
+ ],
+ "description": "Regenerates secret keys and returns them for the DirectLine Channel of a particular BotService resource",
+ "operationId": "DirectLine_RegenerateKeys",
+ "x-ms-examples": {
+ "Regenerate Keys for DirectLine Channel Site": {
+ "$ref": "./examples/DirectlineRegenerateKeys.json"
+ },
+ "Regenerate Keys for WebChat Channel Site": {
+ "$ref": "./examples/WebChatRegenerateKeys.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/regenerateKeyschannelNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SiteInfo"
+ },
+ "description": "The parameters to provide for the created bot."
+ }
+ ],
+ "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/BotChannel"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.BotService/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "Bot"
+ ],
+ "description": "Check whether a bot name is available.",
+ "operationId": "Bots_GetCheckNameAvailability",
+ "x-ms-examples": {
+ "check Name Availability": {
+ "$ref": "./examples/CheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CheckNameAvailabilityRequestBody"
+ },
+ "description": "The request body parameters to provide for the check name availability request"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses. 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/CheckNameAvailabilityResponseBody"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.BotService/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all the available BotService operations.",
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ }
+ },
+ "deprecated": false,
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.BotService/listAuthServiceProviders": {
+ "post": {
+ "tags": [
+ "ListServiceProviders"
+ ],
+ "description": "Lists the available Service Providers for creating Connection Settings",
+ "operationId": "BotConnection_ListServiceProviders",
+ "x-ms-examples": {
+ "List Auth Service Providers": {
+ "$ref": "./examples/ListServiceProviders.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is retrieved successfully, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/ServiceProviderResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}/listWithSecrets": {
+ "post": {
+ "tags": [
+ "BotConnection"
+ ],
+ "x-ms-examples": {
+ "Update Connection Setting": {
+ "$ref": "./examples/GetConnection.json"
+ }
+ },
+ "description": "Get a Connection Setting registration for a Bot Service",
+ "operationId": "BotConnection_ListWithSecrets",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/Connections/{connectionName}": {
+ "put": {
+ "tags": [
+ "BotConnection"
+ ],
+ "description": "Register a new Auth Connection for a Bot Service",
+ "operationId": "BotConnection_Create",
+ "x-ms-examples": {
+ "Create Connection Setting": {
+ "$ref": "./examples/PutConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ },
+ "description": "The parameters to provide for creating the Connection Setting."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is created successfully or already existed, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "BotConnection"
+ ],
+ "description": "Updates a Connection Setting registration for a Bot Service",
+ "operationId": "BotConnection_Update",
+ "x-ms-examples": {
+ "Update Connection Setting": {
+ "$ref": "./examples/UpdateConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ },
+ "description": "The parameters to provide for updating the Connection Setting."
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If resource is created successfully or already existed, the service should return 200 (OK).",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "201": {
+ "description": "If resource is created successfully, the service should return 201 (Created). Execution to continue asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "BotConnection"
+ ],
+ "x-ms-examples": {
+ "Update Connection Setting": {
+ "$ref": "./examples/GetConnection.json"
+ }
+ },
+ "description": "Get a Connection Setting registration for a Bot Service",
+ "operationId": "BotConnection_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. ",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSetting"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group *or* resource does not exist, 404 (NotFound) should be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BotConnection"
+ ],
+ "description": "Deletes a Connection Setting registration for a Bot Service",
+ "operationId": "BotConnection_Delete",
+ "x-ms-examples": {
+ "Update Connection Setting": {
+ "$ref": "./examples/DeleteConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/connectionNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A 200 (OK) should be returned if the object exists and was deleted successfully;"
+ },
+ "204": {
+ "description": "a 204 (NoContent) should be used if the resource does not exist and the request is well formed."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.BotService/botServices/{resourceName}/connections": {
+ "get": {
+ "tags": [
+ "BotConnection"
+ ],
+ "description": "Returns all the Connection Settings registered to a particular BotService resource",
+ "operationId": "BotConnection_ListByBotService",
+ "x-ms-examples": {
+ "List Connection Settings": {
+ "$ref": "./examples/ListConnectionsByBotService.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The resource provider should return 200 (OK) to indicate that the operation completed successfully. For other errors (e.g. internal errors) use the appropriate HTTP error code.\nThe nextLink field is expected to point to the URL the client should use to fetch the next page (per server side paging). This matches the OData guidelines for paged responses here. If a resource provider does not support paging, it should return the same body (JSON object with “value” property) but omit nextLink entirely (or set to null, *not* empty string) for future compatibility.\nThe nextLink should be implemented using following query parameters:\n· skipToken: opaque token that allows the resource provider to skip resources already enumerated. This value is defined and returned by the RP after first request via nextLink.\n· top: the optional client query parameter which defines the maximum number of records to be returned by the server.\nImplementation details:\n· NextLink may include all the query parameters (specifically OData $filter) used by the client in the first query. \n· Server may return less records than requested with nextLink. Returning zero records with NextLink is an acceptable response. \nClients must fetch records until the nextLink is not returned back / null. Clients should never rely on number of returned records to determinate if pagination is completed.",
+ "schema": {
+ "$ref": "#/definitions/ConnectionSettingResponseList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the resource group does not exist, 404 (NotFound) will be returned.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "Azure resource",
+ "x-ms-azure-resource": true,
+ "properties": {
+ "id": {
+ "description": "Specifies the resource ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "Specifies the name of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Specifies the location of the resource.",
+ "type": "string"
+ },
+ "type": {
+ "description": "Specifies the type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "Contains resource tags defined as key/value pairs.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Gets or sets the SKU of the resource."
+ },
+ "kind": {
+ "$ref": "#/definitions/Kind",
+ "description": "Required. Gets or sets the Kind of the resource."
+ },
+ "etag": {
+ "type": "string",
+ "description": "Entity Tag"
+ }
+ }
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "$ref": "#/definitions/SkuName",
+ "description": "The sku name"
+ },
+ "tier": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Gets the sku tier. This is based on the SKU name.",
+ "enum": [
+ "Free",
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "The SKU of the cognitive services account."
+ },
+ "SkuName": {
+ "type": "string",
+ "description": "The name of SKU.",
+ "enum": [
+ "F0",
+ "S1"
+ ],
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "Kind": {
+ "type": "string",
+ "description": "Indicates the type of bot service",
+ "enum": [
+ "sdk",
+ "designer",
+ "bot",
+ "function"
+ ],
+ "x-ms-enum": {
+ "name": "Kind",
+ "modelAsString": true
+ }
+ },
+ "Bot": {
+ "type": "object",
+ "description": "Bot resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BotProperties",
+ "description": "The set of properties specific to bot resource"
+ }
+ }
+ },
+ "BotProperties": {
+ "properties": {
+ "displayName": {
+ "type": "string",
+ "description": "The Name of the bot"
+ },
+ "description": {
+ "type": "string",
+ "description": "The description of the bot"
+ },
+ "iconUrl": {
+ "type": "string",
+ "description": "The Icon Url of the bot"
+ },
+ "endpoint": {
+ "type": "string",
+ "description": "The bot's endpoint"
+ },
+ "endpointVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The bot's endpoint version"
+ },
+ "msaAppId": {
+ "type": "string",
+ "description": "Microsoft App Id for the bot"
+ },
+ "configuredChannels": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Collection of channels for which the bot is configured"
+ },
+ "enabledChannels": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true,
+ "description": "Collection of channels for which the bot is enabled"
+ },
+ "developerAppInsightKey": {
+ "type": "string",
+ "description": "The Application Insights key"
+ },
+ "developerAppInsightsApiKey": {
+ "type": "string",
+ "description": "The Application Insights Api Key"
+ },
+ "developerAppInsightsApplicationId": {
+ "type": "string",
+ "description": "The Application Insights App Id"
+ },
+ "luisAppIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Collection of LUIS App Ids"
+ },
+ "luisKey": {
+ "type": "string",
+ "description": "The LUIS Key"
+ }
+ },
+ "description": "The parameters to provide for the Bot.",
+ "required": [
+ "displayName",
+ "endpoint",
+ "msaAppId"
+ ]
+ },
+ "BotResponseList": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of bot service resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Bot"
+ },
+ "description": "Gets the list of bot service results and their properties."
+ }
+ },
+ "description": "The list of bot service operation response."
+ },
+ "BotChannel": {
+ "type": "object",
+ "description": "Bot channel resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/Channel",
+ "description": "The set of properties specific to bot channel resource"
+ }
+ }
+ },
+ "Channel": {
+ "type": "object",
+ "description": "Channel definition",
+ "discriminator": "channelName",
+ "properties": {
+ "channelName": {
+ "type": "string",
+ "description": "The channel name"
+ }
+ },
+ "required": [
+ "channelName"
+ ]
+ },
+ "AlexaChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "AlexaChannel",
+ "description": "Alexa channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AlexaChannelProperties",
+ "description": "The set of properties specific to Alexa channel resource"
+ }
+ }
+ },
+ "AlexaChannelProperties": {
+ "properties": {
+ "alexaSkillId": {
+ "type": "string",
+ "description": "The Alexa skill Id"
+ },
+ "urlFragment": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Url fragment used in part of the Uri configured in Alexa"
+ },
+ "serviceEndpointUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Full Uri used to configured the skill in Alexa"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Alexa channel.",
+ "required": [
+ "alexaSkillId",
+ "isEnabled"
+ ]
+ },
+ "FacebookChannel": {
+ "type": "object",
+ "description": "Facebook channel definition",
+ "x-ms-discriminator-value": "FacebookChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FacebookChannelProperties",
+ "description": "The set of properties specific to bot facebook channel"
+ }
+ }
+ },
+ "FacebookChannelProperties": {
+ "properties": {
+ "verifyToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "readOnly": true,
+ "description": "Verify token. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "pages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FacebookPage"
+ },
+ "description": "The list of Facebook pages"
+ },
+ "appId": {
+ "type": "string",
+ "description": "Facebook application id"
+ },
+ "appSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Facebook application secret. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "callbackUrl": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Callback Url"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Facebook channel.",
+ "required": [
+ "appId",
+ "appSecret",
+ "isEnabled"
+ ]
+ },
+ "FacebookPage": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Page id"
+ },
+ "accessToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Facebook application access token. Value only returned through POST to the action Channel List API, otherwise empty."
+ }
+ },
+ "description": "A Facebook page for Facebook channel registration",
+ "required": [
+ "id",
+ "accessToken"
+ ]
+ },
+ "EmailChannel": {
+ "type": "object",
+ "description": "Email channel definition",
+ "x-ms-discriminator-value": "EmailChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/EmailChannelProperties",
+ "description": "The set of properties specific to email channel resource"
+ }
+ }
+ },
+ "EmailChannelProperties": {
+ "properties": {
+ "emailAddress": {
+ "type": "string",
+ "description": "The email address"
+ },
+ "password": {
+ "type": "string",
+ "description": "The password for the email address. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Email channel.",
+ "required": [
+ "emailAddress",
+ "password",
+ "isEnabled"
+ ]
+ },
+ "MsTeamsChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "MsTeamsChannel",
+ "description": "Microsoft Teams channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/MsTeamsChannelProperties",
+ "description": "The set of properties specific to Microsoft Teams channel resource"
+ }
+ }
+ },
+ "MsTeamsChannelProperties": {
+ "properties": {
+ "enableCalling": {
+ "type": "boolean",
+ "description": "Enable calling for Microsoft Teams channel"
+ },
+ "callingWebHook": {
+ "type": "string",
+ "description": "Webhook for Microsoft Teams channel calls"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Microsoft Teams channel.",
+ "required": [
+ "isEnabled"
+ ]
+ },
+ "SkypeChannel": {
+ "type": "object",
+ "description": "Skype channel definition",
+ "x-ms-discriminator-value": "SkypeChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SkypeChannelProperties",
+ "description": "The set of properties specific to Skype channel resource"
+ }
+ }
+ },
+ "SkypeChannelProperties": {
+ "properties": {
+ "enableMessaging": {
+ "type": "boolean",
+ "description": "Enable messaging for Skype channel"
+ },
+ "enableMediaCards": {
+ "type": "boolean",
+ "description": "Enable media cards for Skype channel"
+ },
+ "enableVideo": {
+ "type": "boolean",
+ "description": "Enable video for Skype channel"
+ },
+ "enableCalling": {
+ "type": "boolean",
+ "description": "Enable calling for Skype channel"
+ },
+ "enableScreenSharing": {
+ "type": "boolean",
+ "description": "Enable screen sharing for Skype channel"
+ },
+ "enableGroups": {
+ "type": "boolean",
+ "description": "Enable groups for Skype channel"
+ },
+ "groupsMode": {
+ "type": "string",
+ "description": "Group mode for Skype channel"
+ },
+ "callingWebHook": {
+ "type": "string",
+ "description": "Calling web hook for Skype channel"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Microsoft Teams channel.",
+ "required": [
+ "isEnabled"
+ ]
+ },
+ "KikChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "KikChannel",
+ "description": "Kik channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/KikChannelProperties",
+ "description": "The set of properties specific to Kik channel resource"
+ }
+ }
+ },
+ "KikChannelProperties": {
+ "properties": {
+ "userName": {
+ "type": "string",
+ "description": "The Kik user name"
+ },
+ "apiKey": {
+ "type": "string",
+ "description": "Kik API key. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Kik channel.",
+ "required": [
+ "userName",
+ "apiKey",
+ "isEnabled"
+ ]
+ },
+ "WebChatChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "WebChatChannel",
+ "description": "Web Chat channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/WebChatChannelProperties",
+ "description": "The set of properties specific to Web Chat channel resource"
+ }
+ }
+ },
+ "WebChatChannelProperties": {
+ "properties": {
+ "webChatEmbedCode": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true,
+ "description": "Web chat control embed code"
+ },
+ "sites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WebChatSite"
+ },
+ "description": "The list of Web Chat sites"
+ }
+ },
+ "description": "The parameters to provide for the Web Chat channel."
+ },
+ "DirectLineChannel": {
+ "type": "object",
+ "x-ms-discriminator-value": "DirectLineChannel",
+ "description": "Direct Line channel definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DirectLineChannelProperties",
+ "description": "The set of properties specific to Direct Line channel resource"
+ }
+ }
+ },
+ "DirectLineChannelProperties": {
+ "properties": {
+ "sites": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DirectLineSite"
+ },
+ "description": "The list of Direct Line sites"
+ }
+ },
+ "description": "The parameters to provide for the Direct Line channel."
+ },
+ "TelegramChannel": {
+ "type": "object",
+ "description": "Telegram channel definition",
+ "x-ms-discriminator-value": "TelegramChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/TelegramChannelProperties",
+ "description": "The set of properties specific to Telegram channel resource"
+ }
+ }
+ },
+ "TelegramChannelProperties": {
+ "properties": {
+ "accessToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Telegram access token. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Telegram channel.",
+ "required": [
+ "accessToken",
+ "isEnabled"
+ ]
+ },
+ "SmsChannel": {
+ "type": "object",
+ "description": "Sms channel definition",
+ "x-ms-discriminator-value": "SmsChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SmsChannelProperties",
+ "description": "The set of properties specific to Sms channel resource"
+ }
+ }
+ },
+ "SmsChannelProperties": {
+ "properties": {
+ "phone": {
+ "type": "string",
+ "description": "The Sms phone"
+ },
+ "accountSID": {
+ "type": "string",
+ "description": "The Sms account SID. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "authToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Sms auth token. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot"
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Sms channel.",
+ "required": [
+ "phone",
+ "accountSID",
+ "authToken",
+ "isEnabled"
+ ]
+ },
+ "SlackChannel": {
+ "type": "object",
+ "description": "Slack channel definition",
+ "x-ms-discriminator-value": "SlackChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SlackChannelProperties",
+ "description": "The set of properties specific to Slack channel resource"
+ }
+ }
+ },
+ "SlackChannelProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The Slack client id"
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Slack client secret. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "verificationToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Slack verification token. Value only returned through POST to the action Channel List API, otherwise empty."
+ },
+ "landingPageUrl": {
+ "type": "string",
+ "description": "The Slack landing page Url"
+ },
+ "redirectAction": {
+ "type": "string",
+ "description": "The Slack redirect action",
+ "readOnly": true
+ },
+ "lastSubmissionId": {
+ "type": "string",
+ "description": "The Sms auth token",
+ "readOnly": true
+ },
+ "registerBeforeOAuthFlow": {
+ "type": "boolean",
+ "description": "Whether to register the settings before OAuth validation is performed. Recommended to True.",
+ "readOnly": true
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot",
+ "readOnly": true
+ },
+ "signingSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "The Slack signing secret."
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled for the bot"
+ }
+ },
+ "description": "The parameters to provide for the Slack channel.",
+ "required": [
+ "clientId",
+ "clientSecret",
+ "verificationToken",
+ "isEnabled"
+ ]
+ },
+ "LineChannel": {
+ "type": "object",
+ "description": "Line channel definition",
+ "x-ms-discriminator-value": "LineChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/LineChannelProperties",
+ "description": "The set of properties specific to line channel resource"
+ }
+ }
+ },
+ "LineChannelProperties": {
+ "properties": {
+ "lineRegistrations": {
+ "type": "array",
+ "description": "The list of line channel registrations",
+ "items": {
+ "$ref": "#/definitions/LineRegistration"
+ }
+ },
+ "callbackUrl": {
+ "type": "string",
+ "description": "Callback Url to enter in line registration.",
+ "readOnly": true
+ },
+ "isValidated": {
+ "type": "boolean",
+ "description": "Whether this channel is validated for the bot",
+ "readOnly": true
+ }
+ },
+ "description": "The parameters to provide for the Line channel.",
+ "required": [
+ "lineRegistrations"
+ ]
+ },
+ "LineRegistration": {
+ "properties": {
+ "generatedId": {
+ "x-ms-mutability": [
+ "read"
+ ],
+ "type": "string",
+ "description": "Id generated for the line channel registration",
+ "readOnly": true
+ },
+ "channelSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Secret for the line channel registration"
+ },
+ "channelAccessToken": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Access token for the line channel registration"
+ }
+ },
+ "description": "The properties corresponding to a line channel registration"
+ },
+ "DirectLineSpeechChannel": {
+ "type": "object",
+ "description": "DirectLine Speech channel definition",
+ "x-ms-discriminator-value": "DirectLineSpeechChannel",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Channel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DirectLineSpeechChannelProperties",
+ "description": "The set of properties specific to DirectLine Speech channel resource"
+ }
+ }
+ },
+ "DirectLineSpeechChannelProperties": {
+ "properties": {
+ "cognitiveServicesSubscriptionId": {
+ "type": "string",
+ "description": "The cognitive service subscription ID to use with this channel registration."
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this channel is enabled or not."
+ },
+ "customVoiceDeploymentId": {
+ "type": "string",
+ "description": "Custom speech model id (optional)."
+ },
+ "customSpeechModelId": {
+ "type": "string",
+ "description": "Custom voice deployment id (optional)."
+ },
+ "isDefaultBotForCogSvcAccount": {
+ "type": "boolean",
+ "description": "Make this a default bot for chosen cognitive service account."
+ }
+ },
+ "description": "The parameters to provide for the DirectLine Speech channel.",
+ "required": [
+ "cognitiveServicesSubscriptionId"
+ ]
+ },
+ "ChannelResponseList": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of bot service channel resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BotChannel"
+ },
+ "description": "Gets the list of bot service channel results and their properties."
+ }
+ },
+ "description": "The list of bot service channel operation response."
+ },
+ "WebChatSite": {
+ "properties": {
+ "siteId": {
+ "type": "string",
+ "description": "Site Id",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true
+ },
+ "siteName": {
+ "type": "string",
+ "description": "Site name"
+ },
+ "key": {
+ "type": "string",
+ "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true
+ },
+ "key2": {
+ "type": "string",
+ "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "readOnly": true
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for DirectLine channel"
+ },
+ "enablePreview": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for preview versions of Webchat"
+ }
+ },
+ "required": [
+ "siteName",
+ "isEnabled",
+ "enablePreview"
+ ],
+ "description": "A site for the Webchat channel"
+ },
+ "DirectLineSite": {
+ "properties": {
+ "siteId": {
+ "x-ms-mutability": [
+ "read"
+ ],
+ "type": "string",
+ "description": "Site Id",
+ "readOnly": true
+ },
+ "siteName": {
+ "type": "string",
+ "description": "Site name"
+ },
+ "key": {
+ "x-ms-mutability": [
+ "read"
+ ],
+ "type": "string",
+ "description": "Primary key. Value only returned through POST to the action Channel List API, otherwise empty.",
+ "readOnly": true
+ },
+ "key2": {
+ "x-ms-mutability": [
+ "read"
+ ],
+ "type": "string",
+ "description": "Secondary key. Value only returned through POST to the action Channel List API, otherwise empty.",
+ "readOnly": true
+ },
+ "isEnabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for DirectLine channel."
+ },
+ "isV1Enabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for Bot Framework V1 protocol."
+ },
+ "isV3Enabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for Bot Framework V1 protocol."
+ },
+ "isSecureSiteEnabled": {
+ "type": "boolean",
+ "description": "Whether this site is enabled for authentication with Bot Framework."
+ },
+ "trustedOrigins": {
+ "type": "array",
+ "description": "List of Trusted Origin URLs for this site. This field is applicable only if isSecureSiteEnabled is True.",
+ "items": {
+ "type": "string"
+ }
+ }
+ },
+ "description": "A site for the Direct Line channel",
+ "required": [
+ "isV1Enabled",
+ "isV3Enabled",
+ "isEnabled",
+ "siteName"
+ ]
+ },
+ "SiteInfo": {
+ "properties": {
+ "siteName": {
+ "type": "string",
+ "description": "The site name"
+ },
+ "key": {
+ "type": "string",
+ "description": "Determines which key is to be regenerated",
+ "enum": [
+ "key1",
+ "key2"
+ ],
+ "x-ms-enum": {
+ "name": "key",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Site information for WebChat or DirectLine Channels to identify which site to regenerate keys for.",
+ "type": "object",
+ "required": [
+ "siteName",
+ "key"
+ ]
+ },
+ "ConnectionItemName": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Connection Item name that has been added in the API",
+ "readOnly": true
+ }
+ },
+ "description": "The display name of a connection Item Setting registered with the Bot"
+ },
+ "ConnectionSettingParameter": {
+ "properties": {
+ "key": {
+ "type": "string",
+ "description": "Key for the Connection Setting Parameter."
+ },
+ "value": {
+ "type": "string",
+ "description": "Value associated with the Connection Setting Parameter."
+ }
+ },
+ "description": "Extra Parameter in a Connection Setting Properties to indicate service provider specific properties"
+ },
+ "ConnectionSettingProperties": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "Client Id associated with the Connection Setting."
+ },
+ "settingId": {
+ "type": "string",
+ "description": "Setting Id set by the service for the Connection Setting.",
+ "readOnly": true
+ },
+ "clientSecret": {
+ "x-ms-secret": true,
+ "type": "string",
+ "description": "Client Secret associated with the Connection Setting"
+ },
+ "scopes": {
+ "type": "string",
+ "description": "Scopes associated with the Connection Setting"
+ },
+ "serviceProviderId": {
+ "type": "string",
+ "description": "Service Provider Id associated with the Connection Setting"
+ },
+ "serviceProviderDisplayName": {
+ "type": "string",
+ "description": "Service Provider Display Name associated with the Connection Setting"
+ },
+ "parameters": {
+ "type": "array",
+ "description": "Service Provider Parameters associated with the Connection Setting",
+ "items": {
+ "$ref": "#/definitions/ConnectionSettingParameter"
+ }
+ }
+ },
+ "description": "Properties for a Connection Setting Item"
+ },
+ "ConnectionSetting": {
+ "type": "object",
+ "description": "Bot channel resource definition",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConnectionSettingProperties",
+ "description": "The set of properties specific to bot channel resource"
+ }
+ }
+ },
+ "ConnectionSettingResponseList": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of bot service connection setting resources.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConnectionSetting"
+ },
+ "description": "Gets the list of bot service connection settings and their properties."
+ }
+ },
+ "description": "The list of bot service connection settings response."
+ },
+ "ServiceProviderResponseList": {
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of bot service providers.",
+ "type": "string"
+ },
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceProvider"
+ },
+ "description": "Gets the list of bot service providers and their properties."
+ }
+ },
+ "description": "The list of bot service providers response."
+ },
+ "ServiceProviderParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of the Service Provider",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "Type of the Service Provider",
+ "readOnly": true
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "description": {
+ "type": "string",
+ "description": "Description of the Service Provider",
+ "readOnly": true
+ },
+ "helpUrl": {
+ "type": "string",
+ "description": "Help Url for the Service Provider",
+ "readOnly": true
+ },
+ "default": {
+ "type": "string",
+ "description": "Default Name for the Service Provider",
+ "readOnly": true
+ }
+ },
+ "description": "Extra Parameters specific to each Service Provider"
+ },
+ "ServiceProviderProperties": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Id for Service Provider",
+ "readOnly": true
+ },
+ "displayName": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "serviceProviderName": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "devPortalUrl": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "iconUrl": {
+ "type": "string",
+ "description": "Display Name of the Service Provider",
+ "readOnly": true
+ },
+ "parameters": {
+ "description": "The list of parameters for the Service Provider",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ServiceProviderParameter"
+ }
+ }
+ },
+ "description": "The Object used to describe a Service Provider supported by Bot Service"
+ },
+ "ServiceProvider": {
+ "type": "object",
+ "description": "Service Provider Definition",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ServiceProviderProperties",
+ "description": "The Properties of a Service Provider Object"
+ }
+ }
+ },
+ "Error": {
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorBody",
+ "description": "The error body."
+ }
+ },
+ "description": "Bot Service error object."
+ },
+ "ErrorBody": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "error code"
+ },
+ "message": {
+ "type": "string",
+ "description": "error message"
+ }
+ },
+ "description": "Bot Service error body.",
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "OperationEntityListResult": {
+ "description": "The list of bot service operation response.",
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link used to get the next page of operations.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "The operations supported by Bot Service Management.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The operation supported by Bot Service Management."
+ },
+ "origin": {
+ "description": "The origin of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Additional properties.",
+ "type": "object"
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The operation supported by Bot Service Management.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Service provider: Microsoft Bot Service.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityRequestBody": {
+ "description": "The request body for a request to Bot Service Management to check availability of a bot name.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "the name of the bot for which availability needs to be checked.",
+ "type": "string"
+ },
+ "type": {
+ "description": "the type of the bot for which availability needs to be checked",
+ "type": "string"
+ }
+ }
+ },
+ "CheckNameAvailabilityResponseBody": {
+ "description": "The response body returned for a request to Bot Service Management to check availability of a bot name.",
+ "type": "object",
+ "properties": {
+ "valid": {
+ "description": "indicates if the bot name is valid.",
+ "type": "boolean"
+ },
+ "message": {
+ "description": "additional message from the bot management api showing why a bot name is not available",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource group in the user subscription."
+ },
+ "resourceNameParameter": {
+ "name": "resourceName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][a-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot resource."
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request."
+ },
+ "connectionNameParameter": {
+ "name": "connectionName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "maxLength": 64,
+ "minLength": 2,
+ "pattern": "^[a-zA-Z0-9][\\sa-zA-Z0-9_.-]*$",
+ "description": "The name of the Bot Service Connection Setting resource."
+ },
+ "channelNameParameter": {
+ "name": "channelName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "AlexaChannel",
+ "FacebookChannel",
+ "EmailChannel",
+ "KikChannel",
+ "TelegramChannel",
+ "SlackChannel",
+ "MsTeamsChannel",
+ "SkypeChannel",
+ "WebChatChannel",
+ "DirectLineChannel",
+ "SmsChannel",
+ "LineChannel",
+ "DirectLineSpeechChannel"
+ ],
+ "x-ms-enum": {
+ "name": "channelName",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "AlexaChannel"
+ },
+ {
+ "value": "FacebookChannel"
+ },
+ {
+ "value": "EmailChannel"
+ },
+ {
+ "value": "KikChannel"
+ },
+ {
+ "value": "TelegramChannel"
+ },
+ {
+ "value": "SlackChannel"
+ },
+ {
+ "value": "MsTeamsChannel"
+ },
+ {
+ "value": "SkypeChannel"
+ },
+ {
+ "value": "WebChatChannel"
+ },
+ {
+ "value": "DirectLineChannel"
+ },
+ {
+ "value": "SmsChannel"
+ },
+ {
+ "value": "LineChannel"
+ },
+ {
+ "value": "DirectLineSpeechChannel"
+ }
+ ]
+ },
+ "description": "The name of the Channel resource."
+ },
+ "regenerateKeyschannelNameParameter": {
+ "name": "channelName",
+ "x-ms-parameter-location": "method",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "WebChatChannel",
+ "DirectLineChannel"
+ ],
+ "x-ms-enum": {
+ "name": "regenerateKeysChannelName",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "WebChatChannel"
+ },
+ {
+ "value": "DirectLineChannel"
+ }
+ ]
+ },
+ "description": "The name of the Channel resource for which keys are to be regenerated."
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CheckNameAvailability.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CheckNameAvailability.json
new file mode 100644
index 000000000000..fbadcd8aaf56
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CheckNameAvailability.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2020-06-02",
+ "parameters": {
+ "name": "testbotname",
+ "type": "string"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "valid": true,
+ "message": "custom message from server"
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CreateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CreateBot.json
new file mode 100644
index 000000000000..6b7d08874ae4
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/CreateBot.json
@@ -0,0 +1,105 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "parameters": {
+ "location": "West US",
+ "sku": {
+ "name": "S1"
+ },
+ "etag": "etag1",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApiKey": "appinsightsapikey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "luisKey": "luiskey",
+ "msaAppId": "exampleappid"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "etag": "etag1",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteBot.json
new file mode 100644
index 000000000000..4c9e878a278b
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteBot.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteChannel.json
new file mode 100644
index 000000000000..70bda60a10ba
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteChannel.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteConnection.json
new file mode 100644
index 000000000000..85962b406899
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteConnection.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "connectionName": "sampleConnection"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..9a66ed0c328c
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DeleteDirectLineSpeechChannel.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DirectlineRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DirectlineRegenerateKeys.json
new file mode 100644
index 000000000000..c740ef5e1fe5
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/DirectlineRegenerateKeys.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineChannel",
+ "parameters": {
+ "siteName": "testSiteName",
+ "key": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineChannel",
+ "properties": {
+ "sites": [
+ {
+ "siteId": "abcd",
+ "siteName": "Default Site",
+ "key": "key1",
+ "key2": "key2",
+ "isEnabled": true,
+ "isV1Enabled": true,
+ "isV3Enabled": true
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetAlexaChannel.json
new file mode 100644
index 000000000000..1faa62ff3a8c
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetAlexaChannel.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "AlexaChannel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "alexa skill id",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetBot.json
new file mode 100644
index 000000000000..31641dd9d2cc
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetBot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "etag": "etag1",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetChannel.json
new file mode 100644
index 000000000000..821aad9640a5
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetChannel.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetConnection.json
new file mode 100644
index 000000000000..27a0f0755e51
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetConnection.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "connectionName": "sampleConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/Connections/sampleConnection",
+ "etag": "etag1",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..c90035e66679
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetDirectLineSpeechChannel.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "Cognitive services subscription ID",
+ "customVoiceDeploymentId": "Custom voice deployment ID",
+ "customSpeechModelId": "Custom speech model ID",
+ "isDefaultBotForCogSvcAccount": true,
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetLineChannel.json
new file mode 100644
index 000000000000..8a4d5c01a48e
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetLineChannel.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "LineChannel"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": "channelSecret",
+ "channelAccessToken": "channelAccessToken"
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetOperations.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetOperations.json
new file mode 100644
index 000000000000..a7718e8c505f
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/GetOperations.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2020-06-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.BotService/botService/read",
+ "display": {
+ "provider": "Microsoft Bot Service",
+ "resource": "Bot Service",
+ "operation": "Read Bot Service",
+ "description": "Read Bot Service"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.BotService/botService/write",
+ "display": {
+ "provider": "Microsoft Bot Service",
+ "resource": "Bot Service",
+ "operation": "Write Bot Service",
+ "description": "Writes Bot Service"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.BotService/botService/delete",
+ "display": {
+ "provider": "Microsoft Bot Service",
+ "resource": "Bot Service",
+ "operation": "Delete Bot Service",
+ "description": "Deletes Bot Service"
+ },
+ "origin": "user,system"
+ },
+ {
+ "name": "Microsoft.BotService/botService/botName/read",
+ "display": {
+ "provider": "Microsoft Bot Service",
+ "resource": "Bot Service name availability",
+ "operation": "Check bot name availability",
+ "description": "Check bot name availability"
+ },
+ "origin": "user,system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsByResourceGroup.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsByResourceGroup.json
new file mode 100644
index 000000000000..f07d46d3e9ce
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices",
+ "etag": "etag1",
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsBySubscription.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsBySubscription.json
new file mode 100644
index 000000000000..3fbd09d5d306
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListBotsBySubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "api-version": "2020-06-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/providers/Microsoft.BotService/botServices",
+ "kind": "sdk",
+ "etag": "etag1",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannel.json
new file mode 100644
index 000000000000..c3cd570b9c5b
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannel.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel",
+ "parameters": {
+ "location": "global"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannelsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannelsByBotService.json
new file mode 100644
index 000000000000..bb98a06944df
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListChannelsByBotService.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "resourceName": "samplebotname",
+ "api-version": "2020-06-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ },
+ {
+ "location": "global",
+ "properties": {
+ "channelName": "FacebookChannel",
+ "properties": {
+ "verifyToken": "othertoken",
+ "appId": "id",
+ "appSecret": "secret",
+ "callbackUrl": "appid",
+ "isEnabled": true,
+ "pages": [
+ {
+ "accessToken": "token",
+ "id": "id"
+ }
+ ]
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListConnectionsByBotService.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListConnectionsByBotService.json
new file mode 100644
index 000000000000..e6cec3c217af
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListConnectionsByBotService.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListServiceProviders.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListServiceProviders.json
new file mode 100644
index 000000000000..8b4b78ba6e67
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/ListServiceProviders.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "api-version": "2020-06-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "id": "sampleServiceProviderId",
+ "displayName": "sample service provider display name",
+ "serviceProviderName": "sampleServiceProvider",
+ "devPortalUrl": "sampleDevPortalUrl",
+ "iconUrl": "sampleIconUrl",
+ "parameters": [
+ {
+ "name": "sampleParameterName",
+ "type": "sampleParameterType",
+ "displayName": "sampleDisplayName",
+ "description": "sampleDescription",
+ "helpUrl": "sampleHelpUrl",
+ "default": "sampleDefaultValue"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutAlexaChannel.json
new file mode 100644
index 000000000000..04773f770a0b
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutAlexaChannel.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "AlexaChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "XAlexaSkillIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "alexa skill id",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "alexa skill id",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutChannel.json
new file mode 100644
index 000000000000..f2020bfa0016
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutChannel.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutConnection.json
new file mode 100644
index 000000000000..879da201f980
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutConnection.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "connectionName": "sampleConnection",
+ "parameters": {
+ "location": "West US",
+ "etag": "etag1",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection",
+ "etag": "etag1",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection",
+ "etag": "etag1",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..b3c964d86eeb
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutDirectLineSpeechChannel.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutLineChannel.json
new file mode 100644
index 000000000000..9d58ac32cd06
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/PutLineChannel.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "LineChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "channelSecret": "channelSecret",
+ "channelAccessToken": "channelAccessToken"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": "channelSecret",
+ "channelAccessToken": "channelAccessToken"
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": "channelSecret",
+ "channelAccessToken": "channelAccessToken"
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateAlexaChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateAlexaChannel.json
new file mode 100644
index 000000000000..280fbb879f85
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateAlexaChannel.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "AlexaChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "XAlexaSkillIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "XAlexaSkillIdX",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "AlexaChannel",
+ "properties": {
+ "alexaSkillId": "XAlexaSkillIdX",
+ "urlFragment": "XUrlFragmentX",
+ "serviceEndpointUri": "https://domain/XUrlFragmentX/botId",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateBot.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateBot.json
new file mode 100644
index 000000000000..1d2c7b728468
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateBot.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "parameters": {
+ "location": "West US",
+ "sku": {
+ "name": "S1"
+ },
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "etag": "etag1",
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApiKey": "appinsightsapikey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "luisKey": "luiskey",
+ "msaAppId": "msaappid"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "etag": "etag1",
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "West US",
+ "tags": {
+ "tag1": "value1",
+ "tag2": "value2"
+ },
+ "name": "samplebotname",
+ "type": "Microsoft.BotService/botServices",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname",
+ "kind": "sdk",
+ "etag": "etag1",
+ "properties": {
+ "description": "The description of the bot",
+ "developerAppInsightKey": "appinsightskey",
+ "developerAppInsightsApplicationId": "appinsightsappid",
+ "displayName": "The Name of the bot",
+ "endpoint": "http://mybot.coffee",
+ "endpointVersion": "version",
+ "iconUrl": "http://myicon",
+ "luisAppIds": [
+ "luisappid1",
+ "luisappid2"
+ ],
+ "msaAppId": "msaappid",
+ "configuredChannels": [
+ "facebook",
+ "groupme"
+ ],
+ "enabledChannels": [
+ "facebook"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateChannel.json
new file mode 100644
index 000000000000..f2020bfa0016
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateChannel.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "EmailChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "EmailChannel",
+ "properties": {
+ "emailAddress": "a@b.com",
+ "password": "pwd",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateConnection.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateConnection.json
new file mode 100644
index 000000000000..14fba951e914
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateConnection.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "connectionName": "sampleConnection",
+ "parameters": {
+ "location": "global",
+ "etag": "etag1",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "etag": "etag1",
+ "id": "/subscriptions/subscription-id/resourceGroups/OneResourceGroupName/providers/Microsoft.BotService/botServices/samplebotname/connections/sampleConnection",
+ "name": "sampleConnection",
+ "properties": {
+ "clientId": "sampleclientid",
+ "clientSecret": "samplesecret",
+ "scopes": "samplescope",
+ "serviceProviderId": "serviceproviderid",
+ "serviceProviderDisplayName": "serviceProviderDisplayName",
+ "parameters": [
+ {
+ "key": "key1",
+ "value": "value1"
+ },
+ {
+ "key": "key2",
+ "value": "value2"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateDirectLineSpeechChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateDirectLineSpeechChannel.json
new file mode 100644
index 000000000000..b3c964d86eeb
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateDirectLineSpeechChannel.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "DirectLineSpeechChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "DirectLineSpeechChannel",
+ "properties": {
+ "cognitiveServicesSubscriptionId": "XcognitiveServicesSubscriptionIdX",
+ "isEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateLineChannel.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateLineChannel.json
new file mode 100644
index 000000000000..9d58ac32cd06
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/UpdateLineChannel.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "LineChannel",
+ "parameters": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "channelSecret": "channelSecret",
+ "channelAccessToken": "channelAccessToken"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": "channelSecret",
+ "channelAccessToken": "channelAccessToken"
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "LineChannel",
+ "properties": {
+ "lineRegistrations": [
+ {
+ "generatedId": "id",
+ "channelSecret": "channelSecret",
+ "channelAccessToken": "channelAccessToken"
+ }
+ ],
+ "callbackUrl": "http://callbackUrl",
+ "isValidated": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/WebChatRegenerateKeys.json b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/WebChatRegenerateKeys.json
new file mode 100644
index 000000000000..e13716da4bbd
--- /dev/null
+++ b/specification/botservice/resource-manager/Microsoft.BotService/stable/2020-06-02/examples/WebChatRegenerateKeys.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "subscription-id",
+ "resourceGroupName": "OneResourceGroupName",
+ "api-version": "2020-06-02",
+ "resourceName": "samplebotname",
+ "channelName": "WebChatChannel",
+ "parameters": {
+ "siteName": "testSiteName",
+ "key": "key1"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "global",
+ "properties": {
+ "channelName": "WebChatChannel",
+ "properties": {
+ "sites": [
+ {
+ "siteId": "abcd",
+ "siteName": "Default Site",
+ "key": "key1",
+ "key2": "key2",
+ "isEnabled": true,
+ "enablePreview": true
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/botservice/resource-manager/readme.azureresourceschema.md b/specification/botservice/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..3e03a113a69a
--- /dev/null
+++ b/specification/botservice/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,48 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-botservice-2020-06-02
+ - tag: schema-botservice-2018-07-12
+ - tag: schema-botservice-2017-12-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-botservice-2020-06-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-botservice-2020-06-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BotService/stable/2020-06-02/botservice.json
+
+```
+
+### Tag: schema-botservice-2018-07-12 and azureresourceschema
+
+``` yaml $(tag) == 'schema-botservice-2018-07-12' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BotService/preview/2018-07-12/botservice.json
+
+```
+
+### Tag: schema-botservice-2017-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-botservice-2017-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.BotService/preview/2017-12-01/botservice.json
+
+```
diff --git a/specification/botservice/resource-manager/readme.md b/specification/botservice/resource-manager/readme.md
index 4e13dd4c54a1..ed269859fd07 100644
--- a/specification/botservice/resource-manager/readme.md
+++ b/specification/botservice/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for BotService.
-
-
---
+
## Getting Started
+
To build the SDK for BotService, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,20 +15,29 @@ To build the SDK for BotService, simply [Install AutoRest](https://aka.ms/autore
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the BotService API.
``` yaml
openapi-type: arm
-tag: package-2018-07-12
+tag: package-2020-06-02
```
+
+### Tag: package-2020-06-02
+
+These settings apply only when `--tag=package-2020-06-02` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-06-02'
+input-file:
+ - Microsoft.BotService/stable/2020-06-02/botservice.json
+```
### Tag: package-2018-07-12
These settings apply only when `--tag=package-2018-07-12` is specified on the command line.
@@ -72,7 +81,9 @@ directive:
from: botservice.json
reason: The path as-is is quite descriptive.
```
+
---
+
# Code Generation
## Swagger to SDK
@@ -85,6 +96,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
- repo: azure-sdk-for-go
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js botservice/resource-manager
```
## C#
@@ -113,7 +127,11 @@ See configuration in [readme.java.md](./readme.java.md)
See readme.python.md file.
-## Multi-API/Profile support for AutoRest v3 generators
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -125,16 +143,16 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.BotService/stable/2020-06-02/botservice.json
- $(this-folder)/Microsoft.BotService/preview/2018-07-12/botservice.json
- $(this-folder)/Microsoft.BotService/preview/2017-12-01/botservice.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.
+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/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json
index 5dd299660337..778d82046bf8 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json
@@ -43,13 +43,13 @@
"operationId": "Policies_List",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -85,16 +85,16 @@
"operationId": "Policies_Get",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -125,16 +125,16 @@
"operationId": "Policies_CreateOrUpdate",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
},
{
"description": "Policy to be created.",
@@ -187,16 +187,16 @@
"operationId": "Policies_Update",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
},
{
"description": "CdnWebApplicationFirewallPolicy parameters to be patched.",
@@ -243,16 +243,16 @@
"operationId": "Policies_Delete",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -280,10 +280,10 @@
"operationId": "ManagedRuleSets_List",
"parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -888,20 +888,6 @@
}
},
"parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "description": "Azure Subscription ID.",
- "required": true,
- "type": "string"
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Version of the API to be used with the client request. Current version is 2017-04-02."
- },
"PolicyNameParameter": {
"name": "policyName",
"in": "path",
@@ -910,17 +896,6 @@
"maxLength": 128,
"x-ms-parameter-location": "method",
"description": "The name of the CdnWebApplicationFirewallPolicy."
- },
- "ResourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
- "minLength": 1,
- "maxLength": 80,
- "x-ms-parameter-location": "method",
- "description": "Name of the Resource group within the Azure subscription."
}
}
}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json
index a67766220370..4282327a5c0a 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/cdn.json
@@ -4332,7 +4332,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "#/definitions/ProxyResource"
}
],
"properties": {
@@ -4378,13 +4378,6 @@
"type": "object",
"description": "Origin properties needed for origin update.",
"properties": {
- "tags": {
- "description": "Origin tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/OriginUpdatePropertiesParameters"
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json
index c22f89554a0e..f63c539d6134 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Create.json
@@ -7,7 +7,6 @@
"endpointName": "endpoint1",
"originName": "www-someDomain-net",
"origin": {
- "location": "WestUs",
"properties": {
"hostName": "www.someDomain.net",
"httpPort": 80,
@@ -25,7 +24,6 @@
"name": "www-someDomain-net",
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
- "location": "WestUs",
"properties": {
"provisioningState": "Succeeded",
"resourceState": "Active",
@@ -44,7 +42,6 @@
"name": "www-someDomain-net",
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
- "location": "WestUs",
"properties": {
"provisioningState": "Succeeded",
"resourceState": "Active",
@@ -63,7 +60,6 @@
"name": "www-someDomain-net",
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
- "location": "WestUs",
"properties": {
"provisioningState": "Succeeded",
"resourceState": "Active",
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json
index be96f1425202..802d78ffa944 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Get.json
@@ -11,10 +11,6 @@
"200": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json
index 4c2643e643a8..7f1338ae8103 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_ListByEndpoint.json
@@ -12,10 +12,6 @@
"value": [
{
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json
index ba0d895812e3..7bb20b98fe55 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2019-12-31/examples/Origins_Update.json
@@ -7,9 +7,6 @@
"endpointName": "endpoint1",
"originName": "www-someDomain-net",
"originUpdateProperties": {
- "tags": {
- "key1": "value1"
- },
"properties": {
"httpPort": 42,
"httpsPort": 43,
@@ -24,10 +21,6 @@
"200": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
@@ -47,10 +40,6 @@
"body": {
"name": "www-someDomain-net",
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
"provisioningState": "Succeeded",
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json
index 7b052709cb5f..40bda7fa0c28 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdn.json
@@ -2697,7 +2697,9 @@
"urlSigningKeys": {
"description": "List of keys used to validate the signed URL hashes.",
"type": "array",
- "$ref": "#/definitions/UrlSigningKey"
+ "items": {
+ "$ref": "#/definitions/UrlSigningKey"
+ }
},
"deliveryPolicy": {
"description": "A policy that specifies the delivery rules to be used for an endpoint.",
@@ -3862,12 +3864,36 @@
}
}
},
+ "UrlSigningAction": {
+ "description": "Defines the url signing action for the delivery rule.",
+ "x-ms-discriminator-value": "UrlSigning",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/UrlSigningActionParameters"
+ }
+ }
+ },
"UrlSigningActionParameters": {
"description": "Defines the parameters for the Url Signing action.",
"required": [
"keyId"
],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters"
+ ]
+ },
"keyId": {
"description": "Id reference of the key to be used to verify the hash and should be defined in UrlSigningKeys",
"type": "string"
@@ -3906,9 +3932,9 @@
"description": "Indicates the purpose of the parameter",
"type": "string",
"enum": [
- "expires",
- "keyId",
- "signature"
+ "Expires",
+ "KeyId",
+ "Signature"
]
},
"paramName": {
@@ -4420,7 +4446,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "#/definitions/ProxyResource"
}
],
"properties": {
@@ -4466,13 +4492,6 @@
"type": "object",
"description": "Origin properties needed for origin update.",
"properties": {
- "tags": {
- "description": "Origin tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/OriginUpdatePropertiesParameters"
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdnwebapplicationfirewall.json
index f38723617aa7..d8a9490e5fb2 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdnwebapplicationfirewall.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/cdnwebapplicationfirewall.json
@@ -43,13 +43,13 @@
"operationId": "Policies_List",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -85,16 +85,16 @@
"operationId": "Policies_Get",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -125,16 +125,16 @@
"operationId": "Policies_CreateOrUpdate",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
},
{
"description": "Policy to be created.",
@@ -187,16 +187,16 @@
"operationId": "Policies_Update",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
},
{
"description": "CdnWebApplicationFirewallPolicy parameters to be patched.",
@@ -243,16 +243,16 @@
"operationId": "Policies_Delete",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -280,10 +280,10 @@
"operationId": "ManagedRuleSets_List",
"parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -888,20 +888,6 @@
}
},
"parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "description": "Azure Subscription ID.",
- "required": true,
- "type": "string"
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Version of the API to be used with the client request. Current version is 2017-04-02."
- },
"PolicyNameParameter": {
"name": "policyName",
"in": "path",
@@ -910,17 +896,6 @@
"maxLength": 128,
"x-ms-parameter-location": "method",
"description": "The name of the CdnWebApplicationFirewallPolicy."
- },
- "ResourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
- "minLength": 1,
- "maxLength": 80,
- "x-ms-parameter-location": "method",
- "description": "Name of the Resource group within the Azure subscription."
}
}
}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Create.json
index ba59911b81e7..cd6b24a65618 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Create.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Create.json
@@ -7,10 +7,6 @@
"endpointName": "endpoint1",
"originName": "www-someDomain-net",
"origin": {
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"properties": {
"hostName": "www.someDomain.net",
"httpPort": 80,
@@ -26,10 +22,6 @@
"200": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
@@ -48,10 +40,6 @@
"201": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
@@ -70,10 +58,6 @@
"202": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Get.json
index 56444627eff0..06fbd8976f03 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Get.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Get.json
@@ -11,10 +11,6 @@
"200": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_ListByEndpoint.json
index 1e81714e36a8..5f2be5eb4302 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_ListByEndpoint.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_ListByEndpoint.json
@@ -12,10 +12,6 @@
"value": [
{
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Update.json
index c47e493a4b2a..7f58c08f8f21 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Update.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-03-31/examples/Origins_Update.json
@@ -7,9 +7,6 @@
"endpointName": "endpoint1",
"originName": "www-someDomain-net",
"originUpdateProperties": {
- "tags": {
- "key1": "value1"
- },
"properties": {
"httpPort": 42,
"httpsPort": 43,
@@ -24,10 +21,6 @@
"200": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
@@ -47,10 +40,6 @@
"body": {
"name": "www-someDomain-net",
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
"provisioningState": "Succeeded",
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json
index 72cf5b68f35b..2fcd9a9690c9 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdn.json
@@ -2697,7 +2697,9 @@
"urlSigningKeys": {
"description": "List of keys used to validate the signed URL hashes.",
"type": "array",
- "$ref": "#/definitions/UrlSigningKey"
+ "items": {
+ "$ref": "#/definitions/UrlSigningKey"
+ }
},
"deliveryPolicy": {
"description": "A policy that specifies the delivery rules to be used for an endpoint.",
@@ -3862,12 +3864,36 @@
}
}
},
+ "UrlSigningAction": {
+ "description": "Defines the url signing action for the delivery rule.",
+ "x-ms-discriminator-value": "UrlSigning",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DeliveryRuleAction"
+ }
+ ],
+ "required": [
+ "parameters"
+ ],
+ "properties": {
+ "parameters": {
+ "description": "Defines the parameters for the action.",
+ "$ref": "#/definitions/UrlSigningActionParameters"
+ }
+ }
+ },
"UrlSigningActionParameters": {
"description": "Defines the parameters for the Url Signing action.",
"required": [
"keyId"
],
"properties": {
+ "@odata.type": {
+ "type": "string",
+ "enum": [
+ "#Microsoft.Azure.Cdn.Models.DeliveryRuleUrlSigningActionParameters"
+ ]
+ },
"keyId": {
"description": "Id reference of the key to be used to verify the hash and should be defined in UrlSigningKeys",
"type": "string"
@@ -3877,7 +3903,11 @@
"type": "string",
"enum": [
"SHA256"
- ]
+ ],
+ "x-ms-enum": {
+ "name": "algorithm",
+ "modelAsString": true
+ }
},
"parameterNameOverride": {
"description": "Defines which query string parameters in the url to be considered for expires, key id etc. ",
@@ -3906,10 +3936,14 @@
"description": "Indicates the purpose of the parameter",
"type": "string",
"enum": [
- "expires",
- "keyId",
- "signature"
- ]
+ "Expires",
+ "KeyId",
+ "Signature"
+ ],
+ "x-ms-enum": {
+ "name": "paramIndicator",
+ "modelAsString": true
+ }
},
"paramName": {
"description": "Parameter name",
@@ -4227,6 +4261,22 @@
"enabled": {
"description": "Origin is enabled for load balancing or not. By default, origin is always enabled.",
"type": "boolean"
+ },
+ "privateLinkAlias": {
+ "description": "The Alias of the Private Link resource. Populating this optional field indicates that this origin is 'Private'",
+ "type": "string"
+ },
+ "privateLinkResourceId": {
+ "description": "The Resource Id of the Private Link resource. Populating this optional field indicates that this backend is 'Private'",
+ "type": "string"
+ },
+ "privateLinkLocation": {
+ "description": "The location of the Private Link resource. Required only if 'privateLinkResourceId' is populated",
+ "type": "string"
+ },
+ "privateLinkApprovalMessage": {
+ "description": "A custom message to be included in the approval request to connect to the Private Link.",
+ "type": "string"
}
},
"x-ms-azure-resource": true
@@ -4420,7 +4470,7 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "#/definitions/ProxyResource"
}
],
"properties": {
@@ -4482,13 +4532,6 @@
"type": "object",
"description": "Origin properties needed for origin update.",
"properties": {
- "tags": {
- "description": "Origin tags.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
- },
"properties": {
"x-ms-client-flatten": true,
"$ref": "#/definitions/OriginUpdatePropertiesParameters"
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
index 776e38b9d7eb..1aceff7ca369 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
@@ -43,13 +43,13 @@
"operationId": "Policies_List",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -85,16 +85,16 @@
"operationId": "Policies_Get",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -125,16 +125,16 @@
"operationId": "Policies_CreateOrUpdate",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
},
{
"description": "Policy to be created.",
@@ -187,16 +187,16 @@
"operationId": "Policies_Update",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
},
{
"description": "CdnWebApplicationFirewallPolicy parameters to be patched.",
@@ -243,16 +243,16 @@
"operationId": "Policies_Delete",
"parameters": [
{
- "$ref": "#/parameters/ResourceGroupNameParameter"
+ "$ref": "cdn.json#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/PolicyNameParameter"
},
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -280,10 +280,10 @@
"operationId": "ManagedRuleSets_List",
"parameters": [
{
- "$ref": "#/parameters/SubscriptionIdParameter"
+ "$ref": "cdn.json#/parameters/subscriptionIdParameter"
},
{
- "$ref": "#/parameters/ApiVersionParameter"
+ "$ref": "cdn.json#/parameters/apiVersionParameter"
}
],
"responses": {
@@ -888,20 +888,6 @@
}
},
"parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "description": "Azure Subscription ID.",
- "required": true,
- "type": "string"
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Version of the API to be used with the client request. Current version is 2017-04-02."
- },
"PolicyNameParameter": {
"name": "policyName",
"in": "path",
@@ -910,17 +896,6 @@
"maxLength": 128,
"x-ms-parameter-location": "method",
"description": "The name of the CdnWebApplicationFirewallPolicy."
- },
- "ResourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
- "minLength": 1,
- "maxLength": 80,
- "x-ms-parameter-location": "method",
- "description": "Name of the Resource group within the Azure subscription."
}
}
}
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json
index 81fce9324123..90f9f58d5ccc 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Create.json
@@ -86,7 +86,10 @@
"originHostHeader": "www.someDomain1.net",
"priority": 1,
"weight": 50,
- "enabled": true
+ "enabled": true,
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
}
},
{
@@ -162,7 +165,10 @@
"originHostHeader": "www.someDomain1.net",
"priority": 1,
"weight": 50,
- "enabled": true
+ "enabled": true,
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
}
},
{
@@ -298,7 +304,10 @@
"originHostHeader": "www.someDomain1.net",
"priority": 1,
"weight": 50,
- "enabled": true
+ "enabled": true,
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
}
},
{
@@ -434,7 +443,10 @@
"originHostHeader": "www.someDomain1.net",
"priority": 1,
"weight": 50,
- "enabled": true
+ "enabled": true,
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
}
},
{
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json
index 039687fc7b8d..07ce9e40f462 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Get.json
@@ -33,7 +33,10 @@
"originHostHeader": "www.someDomain2.net",
"priority": 2,
"weight": 50,
- "enabled": true
+ "enabled": true,
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
}
}
],
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json
index f5cb3c0f6fe2..1dddea533433 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_ListByProfile.json
@@ -34,7 +34,10 @@
"originHostHeader": "www.someDomain2.net",
"priority": 2,
"weight": 50,
- "enabled": true
+ "enabled": true,
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
}
}
],
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json
index bad861f930d3..2f2e1d04ca5c 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Endpoints_Update.json
@@ -40,7 +40,10 @@
"originHostHeader": "www.someDomain2.net",
"priority": 2,
"weight": 50,
- "enabled": true
+ "enabled": true,
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
}
}
],
@@ -101,7 +104,10 @@
"originHostHeader": "www.someDomain2.net",
"priority": 2,
"weight": 50,
- "enabled": true
+ "enabled": true,
+ "privateLinkResourceId": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.Network/privateLinkServices/pls1",
+ "privateLinkLocation": "eastus",
+ "privateLinkApprovalMessage": "Please approve the connection request for this Private Link"
}
}
],
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json
index 31ad52dc4aaa..d8e9fa660f46 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Create.json
@@ -7,10 +7,6 @@
"endpointName": "endpoint1",
"originName": "www-someDomain-net",
"origin": {
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"properties": {
"hostName": "www.someDomain.net",
"httpPort": 80,
@@ -29,10 +25,6 @@
"200": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
@@ -55,10 +47,6 @@
"201": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
@@ -81,10 +69,6 @@
"202": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json
index 89a514a4d173..3c4cdccbf1c1 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Get.json
@@ -11,10 +11,6 @@
"200": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json
index 13aae31ac89f..6b2550edbb95 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_ListByEndpoint.json
@@ -12,10 +12,6 @@
"value": [
{
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
diff --git a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json
index f6e79f729785..710f627dce30 100644
--- a/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json
+++ b/specification/cdn/resource-manager/Microsoft.Cdn/stable/2020-04-15/examples/Origins_Update.json
@@ -7,9 +7,6 @@
"endpointName": "endpoint1",
"originName": "www-someDomain-net",
"originUpdateProperties": {
- "tags": {
- "key1": "value1"
- },
"properties": {
"httpPort": 42,
"httpsPort": 43,
@@ -25,10 +22,6 @@
"200": {
"body": {
"name": "www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
@@ -51,10 +44,6 @@
"body": {
"name": "www-someDomain-net",
"id": "/subscriptions/subid/resourcegroups/RG/providers/Microsoft.Cdn/profiles/profile1/endpoints/endpoint1/origins/www-someDomain-net",
- "location": "WestUs",
- "tags": {
- "key1": "value1"
- },
"type": "Microsoft.Cdn/profiles/endpoints/origins",
"properties": {
"provisioningState": "Succeeded",
diff --git a/specification/cdn/resource-manager/readme.azureresourceschema.md b/specification/cdn/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b4b719cb1979
--- /dev/null
+++ b/specification/cdn/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,135 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-cdn-2020-04-15
+ - tag: schema-cdn-2019-12-31
+ - tag: schema-cdn-2019-06-15-preview
+ - tag: schema-cdn-2019-06-15
+ - tag: schema-cdn-2019-04-15
+ - tag: schema-cdn-2017-10-12
+ - tag: schema-cdn-2017-04-02
+ - tag: schema-cdn-2016-10-02
+ - tag: schema-cdn-2016-04-02
+ - tag: schema-cdn-2015-06-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-cdn-2020-04-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2020-04-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2020-04-15/cdn.json
+ - Microsoft.Cdn/stable/2020-04-15/cdnwebapplicationfirewall.json
+
+```
+
+### Tag: schema-cdn-2019-12-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2019-12-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2019-12-31/cdn.json
+
+```
+
+### Tag: schema-cdn-2019-06-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2019-06-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/preview/2019-06-15-preview/cdn.json
+ - Microsoft.Cdn/preview/2019-06-15-preview/cdnwebapplicationfirewall.json
+
+```
+
+### Tag: schema-cdn-2019-06-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2019-06-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2019-06-15/cdn.json
+ - Microsoft.Cdn/stable/2019-06-15/cdnwebapplicationfirewall.json
+
+```
+
+### Tag: schema-cdn-2019-04-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2019-04-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2019-04-15/cdn.json
+
+```
+
+### Tag: schema-cdn-2017-10-12 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2017-10-12' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2017-10-12/cdn.json
+
+```
+
+### Tag: schema-cdn-2017-04-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2017-04-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2017-04-02/cdn.json
+
+```
+
+### Tag: schema-cdn-2016-10-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2016-10-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2016-10-02/cdn.json
+
+```
+
+### Tag: schema-cdn-2016-04-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2016-04-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2016-04-02/cdn.json
+
+```
+
+### Tag: schema-cdn-2015-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cdn-2015-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Cdn/stable/2015-06-01/cdn.json
+
+```
diff --git a/specification/cdn/resource-manager/readme.java.md b/specification/cdn/resource-manager/readme.java.md
index a007070f0c23..d6d38fa512d1 100644
--- a/specification/cdn/resource-manager/readme.java.md
+++ b/specification/cdn/resource-manager/readme.java.md
@@ -4,11 +4,30 @@ These settings apply only when `--java` is specified on the command line.
Please also specify `--azure-libraries-for-java-folder=`.
``` yaml $(java)
-java:
- azure-arm: true
- fluent: true
- namespace: com.microsoft.azure.management.cdn
- license-header: MICROSOFT_MIT_NO_CODEGEN
- payload-flattening-threshold: 1
- output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-cdn
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.cdn
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-cdn
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-04
```
+
+### Tag: package-2020-04 and java
+
+These settings apply only when `--tag=package-2020-04 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cdn.v2020_04_15
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cdn/mgmt-v2020_04_15
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/cdn/resource-manager/readme.md b/specification/cdn/resource-manager/readme.md
index 58ca149dc55d..a721599aedd4 100644
--- a/specification/cdn/resource-manager/readme.md
+++ b/specification/cdn/resource-manager/readme.md
@@ -28,7 +28,7 @@ These are the global settings for the Cdn API.
title: CdnManagementClient
description: Cdn Management Client
openapi-type: arm
-tag: package-2019-06
+tag: package-2020-04
```
### Tag: package-2020-04
@@ -148,6 +148,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-ruby
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cdn/resource-manager
```
@@ -175,6 +178,10 @@ See configuration in [readme.node.md](./readme.node.md)
See configuration in [readme.ruby.md](./readme.ruby.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/changeanalysis/resource-manager/readme.azureresourceschema.md b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..1ff06754928a
--- /dev/null
+++ b/specification/changeanalysis/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-changeanalysis-2020-04-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-changeanalysis-2020-04-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-changeanalysis-2020-04-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ChangeAnalysis/preview/2020-04-01-preview/changeanalysis.json
+
+```
diff --git a/specification/changeanalysis/resource-manager/readme.md b/specification/changeanalysis/resource-manager/readme.md
index 82bb9acfa298..218a3d561e26 100644
--- a/specification/changeanalysis/resource-manager/readme.md
+++ b/specification/changeanalysis/resource-manager/readme.md
@@ -57,6 +57,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_changeanalysis']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js changeanalysis/resource-manager
```
## Go
@@ -114,6 +117,10 @@ directive:
}
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/CloudShell.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/CloudShell.json
new file mode 100644
index 000000000000..4c4a3ca9d214
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/CloudShell.json
@@ -0,0 +1,1002 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2018-10-01",
+ "title": "CloudShellClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "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.Portal/locations/{location}/userSettings/{userSettingsName}": {
+ "get": {
+ "operationId": "getUserSettingsWithLocation",
+ "x-ms-examples": {
+ "GetUserSettings": {
+ "$ref": "./examples/GetUserSettings_Location.json"
+ }
+ },
+ "summary": "Get user settings.",
+ "description": "Get current user settings for current signed in user. This operation returns settings for the user's cloud shell preferences including preferred location, storage profile, shell type, font and size settings.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSettingsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSettingsResponse"
+ },
+ "headers": {
+ "x-ms-console-required-location-code": {
+ "type": "string",
+ "description": "normalized required location code"
+ },
+ "x-ms-console-preview-user": {
+ "type": "boolean",
+ "description": "indicates whether user is a previous usr."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "patchUserSettingsWithLocation",
+ "summary": "patch user settings.",
+ "description": "Patch cloud shell settings for current signed in user",
+ "x-ms-examples": {
+ "PatchUserSettings": {
+ "$ref": "./examples/PatchUserSettings_Location.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSettingsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "name": "parameters",
+ "description": "The properties of the user settings to be updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CloudShellPatchUserSettings"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSettingsResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "deleteUserSettingsWithLocation",
+ "summary": "delete user settings.",
+ "x-ms-examples": {
+ "DeleteUserSettings": {
+ "$ref": "./examples/DeleteUserSettings_Location.json"
+ }
+ },
+ "description": "Delete cloud shell settings for current signed in user",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSettingsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "putUserSettingsWithLocation",
+ "summary": "put user settings.",
+ "x-ms-examples": {
+ "PutUserSettings": {
+ "$ref": "./examples/PutUserSettings_Location.json"
+ }
+ },
+ "description": "Create or update cloud shell settings for current signed in user",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSettingsNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "name": "parameters",
+ "description": "The properties of the user settings to be created or updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CloudShellUserSettings"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSettingsResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Portal/locations/{location}/consoles/{consoleName}": {
+ "get": {
+ "operationId": "getConsoleWithLocation",
+ "summary": "Get console",
+ "x-ms-examples": {
+ "GetConsole": {
+ "$ref": "./examples/GetConsole_Location.json"
+ }
+ },
+ "description": "Gets the console for the user.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConsoleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CloudShellConsole"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "putConsoleWithLocation",
+ "summary": "Put console",
+ "x-ms-examples": {
+ "PutConsole": {
+ "$ref": "./examples/PutConsole_Location.json"
+ }
+ },
+ "description": "Puts a request for a console",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConsoleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CloudShellConsole"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/CloudShellConsole"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "deleteConsoleWithLocation",
+ "summary": "Delete console",
+ "x-ms-examples": {
+ "DeleteConsole": {
+ "$ref": "./examples/DeleteConsole_Location.json"
+ }
+ },
+ "description": "Deletes the console",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConsoleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Portal/locations/{location}/consoles/{consoleName}/keepAlive": {
+ "post": {
+ "operationId": "keepAliveWithLocation",
+ "x-ms-examples": {
+ "GetUserSettings": {
+ "$ref": "./examples/KeepAlive_Location.json"
+ }
+ },
+ "summary": "Keep alive",
+ "description": "Keep console alive",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ConsoleNameParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "headers": {
+ "x-ms-console-remaining-seconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Remaining time left in session, in seconds."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Portal/userSettings/{userSettingsName}": {
+ "get": {
+ "operationId": "GetUserSettings",
+ "x-ms-examples": {
+ "GetUserSettings": {
+ "$ref": "./examples/GetUserSettings.json"
+ }
+ },
+ "summary": "Get user settings.",
+ "description": "Get current user settings for current signed in user. This operation returns settings for the user's cloud shell preferences including preferred location, storage profile, shell type, font and size settings.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSettingsNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSettingsResponse"
+ },
+ "headers": {
+ "x-ms-console-required-location-code": {
+ "type": "string",
+ "description": "normalized required location code"
+ },
+ "x-ms-console-preview-user": {
+ "type": "boolean",
+ "description": "indicates whether user is a previous usr."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "operationId": "PatchUserSettings",
+ "summary": "patch user settings.",
+ "description": "Patch cloud shell settings for current signed in user",
+ "x-ms-examples": {
+ "PatchUserSettings": {
+ "$ref": "./examples/PatchUserSettings.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSettingsNameParameter"
+ },
+ {
+ "name": "parameters",
+ "description": "The properties of the user settings to be updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CloudShellPatchUserSettings"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSettingsResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DeleteUserSettings",
+ "x-ms-examples": {
+ "DeleteUserSettings": {
+ "$ref": "./examples/DeleteUserSettings.json"
+ }
+ },
+ "summary": "delete user settings.",
+ "description": "Delete cloud shell settings for current signed in user",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSettingsNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "PutUserSettings",
+ "x-ms-examples": {
+ "PutUserSettings": {
+ "$ref": "./examples/PutUserSettings.json"
+ }
+ },
+ "summary": "put user settings.",
+ "description": "Create or update cloud shell settings for current signed in user",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/UserSettingsNameParameter"
+ },
+ {
+ "name": "parameters",
+ "description": "The properties of the user settings to be created or updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/CloudShellUserSettings"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UserSettingsResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Portal/consoles/{consoleName}": {
+ "get": {
+ "operationId": "GetConsole",
+ "x-ms-examples": {
+ "GetConsole": {
+ "$ref": "./examples/GetConsole.json"
+ }
+ },
+ "summary": "Get console",
+ "description": "Gets the console for the user.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConsoleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CloudShellConsole"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "PutConsole",
+ "x-ms-examples": {
+ "PutConsole": {
+ "$ref": "./examples/PutConsole.json"
+ }
+ },
+ "summary": "Put console",
+ "description": "Puts a request for a console",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConsoleNameParameter"
+ },
+ {
+ "name": "parameters",
+ "description": "The console definition.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/ConsoleDefinition"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CloudShellConsole"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/CloudShellConsole"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "DeleteConsole",
+ "x-ms-examples": {
+ "DeleteConsole": {
+ "$ref": "./examples/DeleteConsole.json"
+ }
+ },
+ "summary": "Delete console",
+ "description": "Deletes the console",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ConsoleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Portal/consoles/{consoleName}/keepAlive": {
+ "post": {
+ "operationId": "KeepAlive",
+ "x-ms-examples": {
+ "KeepAlive": {
+ "$ref": "./examples/KeepAlive.json"
+ }
+ },
+ "summary": "Keep alive",
+ "description": "Keep console alive",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ConsoleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "headers": {
+ "x-ms-console-remaining-seconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Remaining time left in session, in seconds."
+ }
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "CloudShellConsole": {
+ "description": "Cloud shell console",
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConsoleProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ConsoleProperties": {
+ "description": "Cloud shell console properties.",
+ "type": "object",
+ "required": [
+ "osType",
+ "provisioningState",
+ "uri"
+ ],
+ "properties": {
+ "osType": {
+ "description": "The operating system type of the cloud shell.",
+ "type": "string",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "osType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the console.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Accepted",
+ "Pending",
+ "Updating",
+ "Creating",
+ "Repairing",
+ "Failed",
+ "Canceled",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ },
+ "uri": {
+ "description": "Uri of the console.",
+ "type": "string"
+ }
+ }
+ },
+ "ConsoleCreateProperties": {
+ "description": "Cloud shell properties for creating a console.",
+ "type": "object",
+ "required": [
+ "osType"
+ ],
+ "properties": {
+ "osType": {
+ "description": "The operating system type of the cloud shell.",
+ "type": "string",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "osType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the console.",
+ "type": "string",
+ "enum": [
+ "NotSpecified",
+ "Accepted",
+ "Pending",
+ "Updating",
+ "Creating",
+ "Repairing",
+ "Failed",
+ "Canceled",
+ "Succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
+ },
+ "uri": {
+ "description": "Uri of the console.",
+ "type": "string"
+ }
+ }
+ },
+ "ConsoleDefinition": {
+ "description": "Console definition",
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConsoleCreateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "x-ms-azure-resource": true
+ },
+ "UserSettingsResponse": {
+ "description": "Response to get user settings",
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UserProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CloudShellUserSettings": {
+ "description": "Cloud shell user settings.",
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UserProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "CloudShellPatchUserSettings": {
+ "description": "Cloud shell patch operation user settings.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UserProperties"
+ }
+ }
+ },
+ "UserProperties": {
+ "description": "The cloud shell user settings properties.",
+ "type": "object",
+ "required": [
+ "preferredOsType",
+ "preferredLocation",
+ "storageProfile",
+ "terminalSettings",
+ "preferredShellType"
+ ],
+ "properties": {
+ "preferredOsType": {
+ "description": "The operating system type of the cloud shell. Deprecated, use preferredShellType.",
+ "type": "string",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "osType",
+ "modelAsString": true
+ }
+ },
+ "preferredLocation": {
+ "description": "The preferred location of the cloud shell.",
+ "type": "string"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile"
+ },
+ "terminalSettings": {
+ "$ref": "#/definitions/TerminalSettings"
+ },
+ "preferredShellType": {
+ "description": "The shell type of the cloud shell.",
+ "type": "string",
+ "enum": [
+ "bash",
+ "pwsh",
+ "powershell"
+ ],
+ "x-ms-enum": {
+ "name": "shellType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "StorageProfile": {
+ "description": "The storage profile of the user settings.",
+ "type": "object",
+ "properties": {
+ "storageAccountResourceId": {
+ "type": "string",
+ "description": "Full resource ID of storage account."
+ },
+ "fileShareName": {
+ "type": "string",
+ "description": "Name of the mounted file share. 63 characters or less, lowercase alphabet, numbers, and -"
+ },
+ "diskSizeInGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Size of file share"
+ }
+ }
+ },
+ "TerminalSettings": {
+ "description": "Settings for terminal appearance.",
+ "type": "object",
+ "properties": {
+ "fontSize": {
+ "type": "string",
+ "description": "Size of terminal font.",
+ "enum": [
+ "NotSpecified",
+ "Small",
+ "Medium",
+ "Large"
+ ],
+ "x-ms-enum": {
+ "name": "fontSize",
+ "modelAsString": true
+ }
+ },
+ "fontStyle": {
+ "type": "string",
+ "description": "Style of terminal font.",
+ "enum": [
+ "NotSpecified",
+ "Monospace",
+ "Courier"
+ ],
+ "x-ms-enum": {
+ "name": "fontStyle",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ErrorResponse": {
+ "title": "ErrorResponse",
+ "description": "Contains details when the response code indicates an error.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "ErrorDetail": {
+ "title": "ErrorDetail",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error's code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ }
+ },
+ "parameters": {
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version",
+ "x-ms-parameter-location": "client"
+ },
+ "ConsoleNameParameter": {
+ "name": "consoleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the console",
+ "x-ms-parameter-location": "client"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The provider location",
+ "x-ms-parameter-location": "method"
+ },
+ "UserSettingsNameParameter": {
+ "name": "userSettingsName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the user settings",
+ "x-ms-parameter-location": "client"
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole.json
new file mode 100644
index 000000000000..a9580f1734a6
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "consoleName": "default",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole_Location.json
new file mode 100644
index 000000000000..98e9199a1c24
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteConsole_Location.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "consoleName": "default",
+ "location": "eastus",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings.json
new file mode 100644
index 000000000000..e3b501a0830a
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "userSettingsName": "cloudconsole",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings_Location.json
new file mode 100644
index 000000000000..626b8022a573
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/DeleteUserSettings_Location.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "userSettingsName": "cloudconsole",
+ "location": "eastus",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole.json
new file mode 100644
index 000000000000..c8939a5fff0e
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "consoleName": "default",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "uri": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole_Location.json
new file mode 100644
index 000000000000..fe8097963b2c
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetConsole_Location.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "consoleName": "default",
+ "location": "eastus",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "uri": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings.json
new file mode 100644
index 000000000000..9e1fffc82978
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "userSettingsName": "cloudconsole",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "eastus",
+ "storageProfile": {
+ "storageAccountResourceId": "string",
+ "fileShareName": "string",
+ "diskSizeInGB": 5
+ },
+ "terminalSettings": {
+ "fontSize": "Medium",
+ "fontStyle": "Monospace"
+ },
+ "preferredShellType": "bash"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings_Location.json
new file mode 100644
index 000000000000..3f99bf4fde31
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/GetUserSettings_Location.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "userSettingsName": "cloudconsole",
+ "location": "eastus",
+ "api-version": "2018-10-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "eastus",
+ "storageProfile": {
+ "storageAccountResourceId": "string",
+ "fileShareName": "string",
+ "diskSizeInGB": 5
+ },
+ "terminalSettings": {
+ "fontSize": "Medium",
+ "fontStyle": "Monospace"
+ },
+ "preferredShellType": "bash"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive.json
new file mode 100644
index 000000000000..bddba272284f
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "consoleName": "default",
+ "api-version": "2018-10-01",
+ "body": {
+ "properties": {
+ "OsType": "Linux"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-console-remaining-seconds": 300
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive_Location.json
new file mode 100644
index 000000000000..6aecb9bdc77b
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/KeepAlive_Location.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "consoleName": "default",
+ "location": "eastus",
+ "api-version": "2018-10-01",
+ "body": {
+ "properties": {
+ "OsType": "Linux"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "x-ms-console-remaining-seconds": 300
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings.json
new file mode 100644
index 000000000000..c646cf0af9ba
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "userSettingsName": "cloudconsole",
+ "location": "eastus",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "",
+ "storageProfile": {},
+ "terminalSettings": {},
+ "preferredShellType": "bash"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "eastus",
+ "storageProfile": {
+ "storageAccountResourceId": "/subscriptions/ae43b1e3-c35d-4c8c-bc0d-f148b4c52b78/resourcegroups/cloud-shell-storage-westus/providers/Microsoft.Storage/storageAccounts/cs410033fffa1eebadb",
+ "fileShareName": "cs-rosturm-microsoft-com-10033fffa1eebadb",
+ "diskSizeInGB": 5
+ },
+ "terminalSettings": {
+ "fontSize": "Small",
+ "fontStyle": "Monospace"
+ },
+ "preferredShellType": "bash"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings_Location.json
new file mode 100644
index 000000000000..c646cf0af9ba
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PatchUserSettings_Location.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "userSettingsName": "cloudconsole",
+ "location": "eastus",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "",
+ "storageProfile": {},
+ "terminalSettings": {},
+ "preferredShellType": "bash"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "eastus",
+ "storageProfile": {
+ "storageAccountResourceId": "/subscriptions/ae43b1e3-c35d-4c8c-bc0d-f148b4c52b78/resourcegroups/cloud-shell-storage-westus/providers/Microsoft.Storage/storageAccounts/cs410033fffa1eebadb",
+ "fileShareName": "cs-rosturm-microsoft-com-10033fffa1eebadb",
+ "diskSizeInGB": 5
+ },
+ "terminalSettings": {
+ "fontSize": "Small",
+ "fontStyle": "Monospace"
+ },
+ "preferredShellType": "bash"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole.json
new file mode 100644
index 000000000000..34a3d68780cd
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "consoleName": "default",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "properties": {
+ "osType": "Linux"
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "properties": {
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "uri": "string"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "uri": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole_Location.json
new file mode 100644
index 000000000000..c1fc796c0288
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutConsole_Location.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "consoleName": "default",
+ "location": "eastus",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "properties": {
+ "osType": "Linux"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "uri": "string"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "uri": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings.json
new file mode 100644
index 000000000000..2e74b9b9b157
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "userSettingsName": "cloudconsole",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "eastus",
+ "storageProfile": {
+ "storageAccountResourceId": "string",
+ "fileShareName": "string",
+ "diskSizeInGB": 5
+ },
+ "terminalSettings": {
+ "fontSize": "Medium",
+ "fontStyle": "Monospace"
+ },
+ "preferredShellType": "bash"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "eastus",
+ "storageProfile": {
+ "storageAccountResourceId": "string",
+ "fileShareName": "string",
+ "diskSizeInGB": 5
+ },
+ "terminalSettings": {
+ "fontSize": "Medium",
+ "fontStyle": "Monospace"
+ },
+ "preferredShellType": "bash"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings_Location.json b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings_Location.json
new file mode 100644
index 000000000000..49ca747ec0e3
--- /dev/null
+++ b/specification/cloudshell/resource-manager/Microsoft.Portal/stable/2018-10-01/examples/PutUserSettings_Location.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "userSettingsName": "cloudconsole",
+ "location": "eastus",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "eastus",
+ "storageProfile": {
+ "storageAccountResourceId": "string",
+ "fileShareName": "string",
+ "diskSizeInGB": 5
+ },
+ "terminalSettings": {
+ "fontSize": "Medium",
+ "fontStyle": "Monospace"
+ },
+ "preferredShellType": "bash"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "preferredOsType": "Linux",
+ "preferredLocation": "eastus",
+ "storageProfile": {
+ "storageAccountResourceId": "string",
+ "fileShareName": "string",
+ "diskSizeInGB": 5
+ },
+ "terminalSettings": {
+ "fontSize": "Medium",
+ "fontStyle": "Monospace"
+ },
+ "preferredShellType": "bash"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cloudshell/resource-manager/readme.azureresourceschema.md b/specification/cloudshell/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..6f76c466351e
--- /dev/null
+++ b/specification/cloudshell/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-portal-2018-10-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-portal-2018-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-portal-2018-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Portal/stable/2018-10-01/CloudShell.json
+
+```
diff --git a/specification/cloudshell/resource-manager/readme.md b/specification/cloudshell/resource-manager/readme.md
new file mode 100644
index 000000000000..6fb7acdaf933
--- /dev/null
+++ b/specification/cloudshell/resource-manager/readme.md
@@ -0,0 +1,179 @@
+# CloudShell
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for CloudShell.
+
+## Getting Started
+
+To build the SDKs for CloudShell, 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 CloudShell.
+
+```yaml
+openapi-type: arm
+tag: package-2018-10-01
+```
+
+### Tag: package-2018-10-01
+
+These settings apply only when `--tag=package-2018-10-01` is specified on the command line.
+
+```yaml $(tag) == 'package-2018-10-01'
+input-file:
+ - Microsoft.Portal/stable/2018-10-01/CloudShell.json
+```
+
+---
+
+# Code Generation
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+```yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-ruby
+ after_scripts:
+ - bundle install && rake arm:regen_all_profiles['azure_mgmt_cloudshell']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cloudshell/resource-manager
+```
+
+## 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: cloudshell
+```
+
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(python)
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: Microsoft.Portal
+ package-name: CloudShell
+ clear-output-folder: true
+```
+``` yaml $(python)
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/azure-mgmt/cloudshell
+```
+
+## Ruby
+
+```yaml
+package-name: azure_mgmt_cloudshell
+package-version: 2018-10-01
+azure-arm: true
+```
+
+### Tag: package-2018-10-01 and ruby
+
+These settings apply only when `--tag=package-2018-10-01 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2018-10-01' && $(ruby)
+namespace: Microsoft.Portal
+output-folder: $(ruby-sdks-folder)/CloudShell
+```
+
+### Tag: package-2020-04-01 and ruby
+
+These settings apply only when `--tag=package-2018-04-01 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+```yaml $(tag) == 'package-2018-04-01' && $(ruby)
+namespace: Microsoft.Portal
+output-folder: $(ruby-sdks-folder)/CloudShell
+```
+
+## 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: "CloudShell"
+ output-folder: "$(typescript-sdks-folder)/packages/CloudShell"
+ payload-flattening-threshold: 1
+ generate-metadata: true
+```
+
+## CSharp
+
+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.CloudShell
+ output-folder: $(csharp-sdks-folder)/CloudShell/management/Microsoft.CloudShell/GeneratedProtocol
+```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.Portal/stable/2018-10-01/CloudShell.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/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
index ac5d89494132..3c12b4188bed 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/preview/v1.0/AnomalyDetector.json
@@ -31,7 +31,7 @@
"post": {
"summary": "Detect anomalies for the entire series in batch.",
"description": "This operation generates a model using an entire series, each point is detected with the same model. With this method, points before and after a certain point are used to determine whether it is an anomaly. The entire detection can give user an overall status of the time series.",
- "operationId": "EntireDetect",
+ "operationId": "DetectEntireSeries",
"parameters": [
{
"name": "body",
@@ -39,7 +39,7 @@
"description": "Time series points and period if needed. Advanced model parameters can also be set in the request.",
"required": true,
"schema": {
- "$ref": "#/definitions/Request"
+ "$ref": "#/definitions/DetectRequest"
}
}
],
@@ -59,7 +59,7 @@
"default": {
"description": "Error response.",
"schema": {
- "$ref": "#/definitions/APIError"
+ "$ref": "#/definitions/AnomalyDetectorError"
}
}
},
@@ -74,7 +74,7 @@
"post": {
"summary": "Detect anomaly status of the latest point in time series.",
"description": "This operation generates a model using points before the latest one. With this method, only historical points are used to determine whether the target point is an anomaly. The latest point detecting operation matches the scenario of real-time monitoring of business metrics.",
- "operationId": "LastDetect",
+ "operationId": "DetectLastPoint",
"parameters": [
{
"name": "body",
@@ -82,7 +82,7 @@
"description": "Time series points and period if needed. Advanced model parameters can also be set in the request.",
"required": true,
"schema": {
- "$ref": "#/definitions/Request"
+ "$ref": "#/definitions/DetectRequest"
}
}
],
@@ -102,7 +102,7 @@
"default": {
"description": "Error response.",
"schema": {
- "$ref": "#/definitions/APIError"
+ "$ref": "#/definitions/AnomalyDetectorError"
}
}
},
@@ -113,11 +113,11 @@
}
}
},
- "/timeseries/changePoint/detect": {
+ "/timeseries/changepoint/detect": {
"post": {
"summary": "Detect change point for the entire series",
"description": "Evaluate change point score of every series point",
- "operationId": "ChangePointDetect",
+ "operationId": "DetectChangePoint",
"parameters": [
{
"name": "body",
@@ -145,7 +145,7 @@
"default": {
"description": "Error response.",
"schema": {
- "$ref": "#/definitions/APIError"
+ "$ref": "#/definitions/AnomalyDetectorError"
}
}
},
@@ -158,7 +158,7 @@
}
},
"definitions": {
- "APIError": {
+ "AnomalyDetectorError": {
"type": "object",
"description": "Error information returned by the API.",
"properties": {
@@ -186,13 +186,38 @@
}
}
},
- "Granularity": {
+ "TimeGranularity": {
"type": "string",
"description": "Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is used for verify whether input series is valid.",
"x-nullable": false,
"x-ms-enum": {
- "name": "Granularity",
- "modelAsString": false
+ "name": "TimeGranularity",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "yearly"
+ },
+ {
+ "value": "monthly"
+ },
+ {
+ "value": "weekly"
+ },
+ {
+ "value": "daily"
+ },
+ {
+ "value": "hourly"
+ },
+ {
+ "name": "perMinute",
+ "value": "minutely"
+ },
+ {
+ "name": "perSecond",
+ "value": "secondly"
+ }
+ ]
},
"enum": [
"yearly",
@@ -210,7 +235,7 @@
"x-nullable": false,
"description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}."
},
- "Request": {
+ "DetectRequest": {
"type": "object",
"required": [
"granularity",
@@ -221,11 +246,11 @@
"type": "array",
"description": "Time series data points. Points should be sorted by timestamp in ascending order to match the anomaly detection result. If the data is not sorted correctly or there is duplicated timestamp, the API will not work. In such case, an error message will be returned.",
"items": {
- "$ref": "#/definitions/Point"
+ "$ref": "#/definitions/TimeSeriesPoint"
}
},
"granularity": {
- "$ref": "#/definitions/Granularity"
+ "$ref": "#/definitions/TimeGranularity"
},
"customInterval": {
"description": "Custom Interval is used to set non-standard time interval, for example, if the series is 5 minutes, request can be set as {\"granularity\":\"minutely\", \"customInterval\":5}.",
@@ -248,7 +273,7 @@
}
}
},
- "Point": {
+ "TimeSeriesPoint": {
"type": "object",
"required": [
"timestamp",
@@ -400,11 +425,11 @@
"type": "array",
"description": "Time series data points. Points should be sorted by timestamp in ascending order to match the change point detection result.",
"items": {
- "$ref": "#/definitions/Point"
+ "$ref": "#/definitions/TimeSeriesPoint"
}
},
"granularity": {
- "$ref": "#/definitions/Granularity",
+ "$ref": "#/definitions/TimeGranularity",
"description": "Can only be one of yearly, monthly, weekly, daily, hourly, minutely or secondly. Granularity is used for verify whether input series is valid."
},
"customInterval": {
diff --git a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md
index 29770127847f..e698a92e151e 100644
--- a/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md
+++ b/specification/cognitiveservices/data-plane/AnomalyDetector/readme.python.md
@@ -4,24 +4,23 @@ 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)
+``` yaml
python-mode: create
-python:
- license-header: MICROSOFT_MIT_NO_VERSION
- add-credentials: true
- payload-flattening-threshold: 2
- namespace: azure.cognitiveservices.anomalydetector
- package-name: azure-cognitiveservices-anomalydetector
- package-version: 0.2.0
- clear-output-folder: true
+license-header: MICROSOFT_MIT_NO_VERSION
+add-credentials: true
+credential-default-policy-type: AzureKeyCredentialPolicy
+credential-key-header-name: Ocp-Apim-Subscription-Key
+payload-flattening-threshold: 1
+namespace: azure.cognitiveservices.anomalydetector
+package-name: azure-cognitiveservices-anomalydetector
+package-version: 0.2.0
+clear-output-folder: true
```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector/azure/cognitiveservices/anomalydetector
+``` yaml $(python-mode) == 'update'
+no-namespace-folders: true
+output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector/azure/cognitiveservices/anomalydetector
```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector
+``` yaml $(python-mode) == 'create'
+basic-setup-py: true
+output-folder: $(python-sdks-folder)/cognitiveservices/azure-cognitiveservices-anomalydetector
```
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json
new file mode 100644
index 000000000000..2cd2d43ed37c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/Ocr.json
@@ -0,0 +1,500 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "3.1-preview.2",
+ "title": "Computer Vision Client",
+ "description": "The Computer Vision API provides state-of-the-art algorithms to process images and return information. For example, it can be used to determine if an image contains mature content, or it can be used to find all the faces in an image. It also has other features like estimating dominant and accent colors, categorizing the content of images, and describing an image with complete English sentences. Additionally, it can also intelligently generate images thumbnails for displaying large images effectively."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{Endpoint}",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "host": "westcentralus.api.cognitive.microsoft.com",
+ "basePath": "/vision/v3.1-preview.2",
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/read/analyze": {
+ "post": {
+ "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.",
+ "operationId": "Read",
+ "parameters": [
+ {
+ "$ref": "#/parameters/OcrDetectionLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageUrl"
+ },
+ {
+ "$ref": "#/parameters/Pages"
+ }
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Analyze request": {
+ "$ref": "./examples/SuccessfulReadWithUrl.json"
+ }
+ }
+ }
+ },
+ "/read/analyzeResults/{operationId}": {
+ "get": {
+ "description": "This interface is used for getting OCR results of Read operation. The URL to this interface should be retrieved from 'Operation-Location' field returned from Read interface.",
+ "operationId": "GetReadResult",
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "description": "Id of read operation returned in the response of the 'Read' interface.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the read operation status.",
+ "schema": {
+ "$ref": "#/definitions/ReadOperationResult"
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Get Read Result request": {
+ "$ref": "./examples/SuccessfulGetReadResult.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/read/analyze?overload=stream": {
+ "post": {
+ "description": "Use this interface to get the result of a Read operation, employing the state-of-the-art Optical Character Recognition (OCR) algorithms optimized for text-heavy documents. When you use the Read interface, the response contains a field called 'Operation-Location'. The 'Operation-Location' field contains the URL that you must use for your 'GetReadResult' operation to access OCR results.",
+ "operationId": "ReadInStream",
+ "parameters": [
+ {
+ "$ref": "#/parameters/OcrDetectionLanguage"
+ },
+ {
+ "$ref": "#/parameters/ImageStream"
+ },
+ {
+ "$ref": "#/parameters/Pages"
+ }
+ ],
+ "consumes": [
+ "application/octet-stream"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "202": {
+ "description": "The service has accepted the request and will start processing later.",
+ "headers": {
+ "Operation-Location": {
+ "description": "URL to query for status of the operation. The operation ID will expire in 48 hours. ",
+ "type": "string"
+ }
+ }
+ },
+ "default": {
+ "description": "Error response.",
+ "schema": {
+ "$ref": "#/definitions/ComputerVisionError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Analyze request": {
+ "$ref": "./examples/SuccessfulReadWithStream.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ReadOperationResult": {
+ "type": "object",
+ "description": "OCR result of the read operation.",
+ "properties": {
+ "status": {
+ "description": "Status of the read operation.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "type": "string",
+ "description": "Get UTC date time the batch operation was submitted.",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "type": "string",
+ "description": "Get last updated UTC date time of this batch operation.",
+ "x-nullable": false
+ },
+ "analyzeResult": {
+ "description": "Analyze batch operation result.",
+ "type": "object",
+ "$ref": "#/definitions/analyzeResults"
+ }
+ }
+ },
+ "OperationStatus": {
+ "type": "string",
+ "description": "Status code of the text operation.",
+ "enum": [
+ "notStarted",
+ "running",
+ "failed",
+ "succeeded"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatusCodes",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "ReadResult": {
+ "description": "Text extracted from a page in the input document.",
+ "type": "object",
+ "required": [
+ "page",
+ "angle",
+ "width",
+ "height",
+ "unit",
+ "lines"
+ ],
+ "properties": {
+ "page": {
+ "description": "The 1-based page number of the recognition result.",
+ "type": "integer"
+ },
+ "language": {
+ "description": "The BCP-47 language code of the recognized text page.",
+ "type": "string"
+ },
+ "angle": {
+ "description": "The orientation of the image in degrees in the clockwise direction. Range between [-180, 180).",
+ "type": "number"
+ },
+ "width": {
+ "description": "The width of the image in pixels or the PDF in inches.",
+ "type": "number"
+ },
+ "height": {
+ "description": "The height of the image in pixels or the PDF in inches.",
+ "type": "number"
+ },
+ "unit": {
+ "description": "The unit used in the Width, Height and BoundingBox. For images, the unit is 'pixel'. For PDF, the unit is 'inch'.",
+ "type": "string",
+ "enum": [
+ "pixel",
+ "inch"
+ ],
+ "x-ms-enum": {
+ "name": "TextRecognitionResultDimensionUnit",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "lines": {
+ "description": "A list of recognized text lines.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Line"
+ }
+ }
+ }
+ },
+ "analyzeResults": {
+ "description": "Analyze batch operation result.",
+ "type": "object",
+ "required": [
+ "version",
+ "readResults"
+ ],
+ "properties": {
+ "version": {
+ "description": "Version of schema used for this result.",
+ "type": "string"
+ },
+ "readResults": {
+ "description": "Text extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadResult"
+ }
+ }
+ }
+ },
+ "Line": {
+ "description": "An object representing a recognized text line.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text",
+ "words"
+ ],
+ "properties": {
+ "language": {
+ "description": "The BCP-47 language code of the recognized text line. Only provided where the language of the line differs from the page's.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of a recognized line.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "appearance": {
+ "description": "Style and styleConfidence of the text line.",
+ "type": "object",
+ "$ref": "#/definitions/Appearance"
+ },
+ "text": {
+ "description": "The text content of the line.",
+ "type": "string"
+ },
+ "words": {
+ "description": "List of words in the text line.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Word"
+ }
+ }
+ }
+ },
+ "Word": {
+ "description": "An object representing a recognized word.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text",
+ "confidence"
+ ],
+ "properties": {
+ "boundingBox": {
+ "description": "Bounding box of a recognized word.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "text": {
+ "description": "The text content of the word.",
+ "type": "string"
+ },
+ "confidence": {
+ "description": "Qualitative confidence measure.",
+ "type": "number",
+ "format": "float"
+ }
+ }
+ },
+ "BoundingBox": {
+ "description": "Quadrangle bounding box, with coordinates in original image. The eight numbers represent the four points (x-coordinate, y-coordinate from the left-top corner of the image) of the detected rectangle from the left-top corner in the clockwise direction. For images, coordinates are in pixels. For PDF, coordinates are in inches.",
+ "type": "array",
+ "items": {
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "Appearance": {
+ "description": "An object representing the style and styleConfidence.",
+ "type": "object",
+ "required": [
+ "style",
+ "styleConfidence"
+ ],
+ "properties": {
+ "style": {
+ "description": "The text line style.",
+ "type": "string",
+ "enum": [
+ "handwriting",
+ "print"
+ ]
+ },
+ "styleConfidence": {
+ "description": "The confidence of text line style.",
+ "type": "number",
+ "format": "float"
+ }
+ }
+ },
+ "ComputerVisionError": {
+ "description": "Details about the API request error.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "enum": [
+ "InvalidImageFormat",
+ "UnsupportedMediaType",
+ "InvalidImageUrl",
+ "NotSupportedFeature",
+ "NotSupportedImage",
+ "Timeout",
+ "InternalServerError",
+ "InvalidImageSize",
+ "BadArgument",
+ "DetectFaceError",
+ "NotSupportedLanguage",
+ "InvalidThumbnailSize",
+ "InvalidDetails",
+ "InvalidModel",
+ "CancelledRequest",
+ "NotSupportedVisualFeature",
+ "FailedToProcess",
+ "Unspecified",
+ "StorageException",
+ "InvalidPageRange"
+ ],
+ "x-ms-enum": {
+ "name": "ComputerVisionErrorCodes",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "A message explaining the error reported by the service.",
+ "type": "string"
+ },
+ "requestId": {
+ "description": "A unique request identifier.",
+ "type": "string"
+ }
+ }
+ },
+ "ImageUrl": {
+ "type": "object",
+ "required": [
+ "url"
+ ],
+ "properties": {
+ "url": {
+ "description": "Publicly reachable URL of an image.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "OcrDetectionLanguage": {
+ "name": "language",
+ "in": "query",
+ "description": "The BCP-47 language code of the text in the document. Currently, only English ('en'), Dutch ('nl'), French ('fr'), German ('de'), Italian ('it'), Portuguese ('pt'), and Spanish ('es') are supported. Read supports auto language identification and multi-language documents, so only provide a language code if you would like to force the documented to be processed as that specific language.",
+ "required": false,
+ "default": "en",
+ "x-ms-parameter-location": "method",
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OcrDetectionLanguage",
+ "modelAsString": true
+ },
+ "enum": [
+ "en",
+ "es",
+ "fr",
+ "de",
+ "it",
+ "nl",
+ "pt"
+ ]
+ },
+ "ImageUrl": {
+ "name": "ImageUrl",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "x-ms-client-flatten": true,
+ "description": "A JSON document with a URL pointing to the image that is to be analyzed.",
+ "schema": {
+ "$ref": "#/definitions/ImageUrl"
+ }
+ },
+ "ImageStream": {
+ "name": "Image",
+ "in": "body",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "description": "An image stream.",
+ "schema": {
+ "type": "object",
+ "format": "file"
+ }
+ },
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints.",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "Pages": {
+ "name": "Pages",
+ "in": "query",
+ "description": "Custom page numbers for multi-page documents(PDF/TIFF), input the number of the pages you want to get OCR result. For a range of pages, use a hyphen. Separate each page or range with a comma or space.",
+ "required": false,
+ "x-ms-parameter-location": "method",
+ "type": "array",
+ "items": {
+ "type": "string",
+ "pattern": "(^[0-9]+-[0-9]+$)|(^[0-9]+$)"
+ },
+ "collectionFormat": "csv"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json
new file mode 100644
index 000000000000..a6ad36931547
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulGetReadResult.json
@@ -0,0 +1,385 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "operationId": "e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2019-10-03T14:32:04.236Z",
+ "lastUpdatedDateTime": "2019-10-03T14:38:14.852Z",
+ "analyzeResult": {
+ "version": "v3.1",
+ "readResults": [
+ {
+ "page": 1,
+ "language": "en",
+ "angle": 49.59,
+ "width": 600,
+ "height": 400,
+ "unit": "pixel",
+ "lines": [
+ {
+ "boundingBox": [
+ 202,
+ 618,
+ 2047,
+ 643,
+ 2046,
+ 840,
+ 200,
+ 813
+ ],
+ "appearance": {
+ "style": "print",
+ "styleConfidence": 0.995
+ },
+ "text": "Our greatest glory is not",
+ "words": [
+ {
+ "boundingBox": [
+ 204,
+ 627,
+ 481,
+ 628,
+ 481,
+ 830,
+ 204,
+ 829
+ ],
+ "text": "Our",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 519,
+ 628,
+ 1057,
+ 630,
+ 1057,
+ 832,
+ 518,
+ 830
+ ],
+ "text": "greatest",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1114,
+ 630,
+ 1549,
+ 631,
+ 1548,
+ 833,
+ 1114,
+ 832
+ ],
+ "text": "glory",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1586,
+ 631,
+ 1785,
+ 632,
+ 1784,
+ 834,
+ 1586,
+ 833
+ ],
+ "text": "is",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1822,
+ 632,
+ 2115,
+ 633,
+ 2115,
+ 835,
+ 1822,
+ 834
+ ],
+ "text": "not",
+ "confidence": 0.164
+ }
+ ]
+ },
+ {
+ "boundingBox": [
+ 420,
+ 1273,
+ 2954,
+ 1250,
+ 2958,
+ 1488,
+ 422,
+ 1511
+ ],
+ "appearance": {
+ "style": "handwriting",
+ "styleConfidence": 0.985
+ },
+ "text": "but in rising every time we fall",
+ "words": [
+ {
+ "boundingBox": [
+ 423,
+ 1269,
+ 634,
+ 1268,
+ 635,
+ 1507,
+ 424,
+ 1508
+ ],
+ "text": "but",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 667,
+ 1268,
+ 808,
+ 1268,
+ 809,
+ 1506,
+ 668,
+ 1507
+ ],
+ "text": "in",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 874,
+ 1267,
+ 1289,
+ 1265,
+ 1290,
+ 1504,
+ 875,
+ 1506
+ ],
+ "text": "rising",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1331,
+ 1265,
+ 1771,
+ 1263,
+ 1772,
+ 1502,
+ 1332,
+ 1504
+ ],
+ "text": "every",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1812,
+ 1263,
+ 2178,
+ 1261,
+ 2179,
+ 1500,
+ 1813,
+ 1502
+ ],
+ "text": "time",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 2219,
+ 1261,
+ 2510,
+ 1260,
+ 2511,
+ 1498,
+ 2220,
+ 1500
+ ],
+ "text": "we",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 2551,
+ 1260,
+ 3016,
+ 1258,
+ 3017,
+ 1496,
+ 2552,
+ 1498
+ ],
+ "text": "fall",
+ "confidence": 0.164
+ }
+ ]
+ },
+ {
+ "language": "es",
+ "boundingBox": [
+ 1612,
+ 903,
+ 2744,
+ 935,
+ 2738,
+ 1139,
+ 1607,
+ 1107
+ ],
+ "appearance": {
+ "style": "print",
+ "styleConfidence": 0.995
+ },
+ "text": "Viva la vida",
+ "words": [
+ {
+ "boundingBox": [
+ 323,
+ 454,
+ 416,
+ 449,
+ 418,
+ 494,
+ 325,
+ 501
+ ],
+ "text": "Viva",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 92,
+ 550,
+ 429,
+ 541,
+ 430,
+ 591,
+ 94,
+ 600
+ ],
+ "text": "la",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 58,
+ 466,
+ 268,
+ 458,
+ 270,
+ 505,
+ 161,
+ 512
+ ],
+ "text": "vida",
+ "confidence": 0.164
+ }
+ ]
+ }
+ ]
+ },
+ {
+ "page": 2,
+ "language": "en",
+ "angle": 1.32,
+ "width": 600,
+ "height": 400,
+ "unit": "pixel",
+ "lines": [
+ {
+ "boundingBox": [
+ 1612,
+ 903,
+ 2744,
+ 935,
+ 2738,
+ 1139,
+ 1607,
+ 1107
+ ],
+ "appearance": {
+ "style": "handwriting",
+ "styleConfidence": 0.855
+ },
+ "text": "in never failing ,",
+ "words": [
+ {
+ "boundingBox": [
+ 1611,
+ 934,
+ 1707,
+ 933,
+ 1708,
+ 1147,
+ 1613,
+ 1147
+ ],
+ "text": "in",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 1753,
+ 933,
+ 2132,
+ 930,
+ 2133,
+ 1144,
+ 1754,
+ 1146
+ ],
+ "text": "never",
+ "confidence": 0.999
+ },
+ {
+ "boundingBox": [
+ 2162,
+ 930,
+ 2673,
+ 927,
+ 2674,
+ 1140,
+ 2164,
+ 1144
+ ],
+ "text": "failing",
+ "confidence": 0.164
+ },
+ {
+ "boundingBox": [
+ 2703,
+ 926,
+ 2788,
+ 926,
+ 2790,
+ 1139,
+ 2705,
+ 1140
+ ],
+ "text": ",",
+ "confidence": 0.164
+ }
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json
new file mode 100644
index 000000000000..dc0a4f1675a1
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithStream.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "Image": "{binary}",
+ "Pages": [
+ "2",
+ "3"
+ ]
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json
new file mode 100644
index 000000000000..a8d69fc50abe
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/ComputerVision/preview/v3.1-preview.2/examples/SuccessfulReadWithUrl.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "Endpoint": "{Endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "ImageUrl": {
+ "url": "{url}"
+ },
+ "Pages": [
+ "2",
+ "3"
+ ]
+ },
+ "responses": {
+ "202": {
+ "header": {
+ "Operation-Location": "https://{domain}/vision/v3.1/read/e56ffa6e-1ee4-4042-bc07-993db706c95f"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md
index 8fb795822422..97861eeff941 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md
+++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.go.md
@@ -43,4 +43,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_3_1' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/cognitiveservices/v3.1-preview.2/$(namespace)
```
\ No newline at end of file
diff --git a/specification/cognitiveservices/data-plane/ComputerVision/readme.md b/specification/cognitiveservices/data-plane/ComputerVision/readme.md
index 020fca003e1d..af1edea7aad7 100644
--- a/specification/cognitiveservices/data-plane/ComputerVision/readme.md
+++ b/specification/cognitiveservices/data-plane/ComputerVision/readme.md
@@ -49,6 +49,14 @@ input-file:
- stable/v3.0/Ocr.json
```
+### Release 3.1-preview.2
+These settings apply only when `--tag=release_3_1_preview_2` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_1_preview_2'
+input-file:
+ - preview/v3.1-preview.2/Ocr.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -166,6 +174,7 @@ input-file:
- $(this-folder)/preview/v3.0-preview/Ocr.json
- $(this-folder)/stable/v3.0/ComputerVision.json
- $(this-folder)/stable/v3.0/Ocr.json
+ - $(this-folder)/preview/v3.1-preview.2/Ocr.json
```
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md
index 1441a4a7fcad..3bfd212871ea 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Prediction/readme.md
@@ -138,6 +138,7 @@ require: $(this-folder)/../../../../../profiles/readme.md
input-file:
- $(this-folder)/stable/v2.0/Prediction.json
- $(this-folder)/stable/v3.0/Prediction.json
+ - $(this-folder)/stable/v3.1/Prediction.json
```
diff --git a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
index c24589d79dc3..4941afe9c847 100644
--- a/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
+++ b/specification/cognitiveservices/data-plane/CustomVision/Training/readme.md
@@ -172,6 +172,7 @@ input-file:
- $(this-folder)/stable/v3.1/Training.json
- $(this-folder)/stable/v3.2/Training.json
- $(this-folder)/stable/v3.3/Training.json
+
```
If there are files that should not be in the `all-api-versions` set,
diff --git a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
index c1ffa742a19a..d96a1f87d277 100644
--- a/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
+++ b/specification/cognitiveservices/data-plane/Face/stable/v1.0/Face.json
@@ -513,7 +513,7 @@
},
"/persongroups/{personGroupId}": {
"put": {
- "description": "Create a new person group with specified personGroupId, name, user-provided userData and recognitionModel.\n
A person group is the container of the uploaded person data, including face recognition features.\n
After creation, use [PersonGroup Person - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroupperson/create) to add persons into the group, and then call [PersonGroup - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [PersonGroup Person - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroupperson/delete) or [PersonGroup - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/delete) is called.\n
'recognitionModel' should be specified to associate with this person group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing person group will use the recognition model that's already associated with the collection. Existing face features in a person group can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [PersonGroup - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/create). All those person groups created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'.\n\nPerson group quota:\n* Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000 persons.\n* S0-tier subscription quota: 1,000,000 person groups. Each holds up to 10,000 persons.\n* to handle larger scale face identification problem, please consider using [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup).",
+ "description": "Create a new person group with specified personGroupId, name, user-provided userData and recognitionModel.\n
A person group is the container of the uploaded person data, including face recognition features.\n
After creation, use [PersonGroup Person - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroupperson/create) to add persons into the group, and then call [PersonGroup - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [PersonGroup Person - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroupperson/delete) or [PersonGroup - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/delete) is called.\n
'recognitionModel' should be specified to associate with this person group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing person group will use the recognition model that's already associated with the collection. Existing face features in a person group can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [PersonGroup - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup/create). All those person groups created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March.\n* 'recognition_03': Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'.\n\nPerson group quota:\n* Free-tier subscription quota: 1,000 person groups. Each holds up to 1,000 persons.\n* S0-tier subscription quota: 1,000,000 person groups. Each holds up to 10,000 persons.\n* to handle larger scale face identification problem, please consider using [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup).",
"operationId": "PersonGroup_Create",
"parameters": [
{
@@ -764,7 +764,7 @@
},
"/facelists/{faceListId}": {
"put": {
- "description": "Create an empty face list with user-specified faceListId, name, an optional userData and recognitionModel. Up to 64 face lists are allowed in one subscription.\n
Face list is a list of faces, up to 1,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar).\n
After creation, user should use [FaceList - Add Face](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/addfacefromurl) to import the faces. No image will be stored. Only the extracted face features are stored on server until [FaceList - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/delete) is called.\n
Find Similar is used for scenario like finding celebrity-like faces, similar face filtering, or as a light way face identification. But if the actual use is to identify person, please use [PersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
Please consider [LargeFaceList](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist) when the face number is large. It can support up to 1,000,000 faces.\n
'recognitionModel' should be specified to associate with this face list. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing face list will use the recognition model that's already associated with the collection. Existing face features in a face list can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [FaceList- Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/create). All those face lists created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'.",
+ "description": "Create an empty face list with user-specified faceListId, name, an optional userData and recognitionModel. Up to 64 face lists are allowed in one subscription.\n
Face list is a list of faces, up to 1,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar).\n
After creation, user should use [FaceList - Add Face](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/addfacefromurl) to import the faces. No image will be stored. Only the extracted face features are stored on server until [FaceList - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/delete) is called.\n
Find Similar is used for scenario like finding celebrity-like faces, similar face filtering, or as a light way face identification. But if the actual use is to identify person, please use [PersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
Please consider [LargeFaceList](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist) when the face number is large. It can support up to 1,000,000 faces.\n
'recognitionModel' should be specified to associate with this face list. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing face list will use the recognition model that's already associated with the collection. Existing face features in a face list can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [FaceList- Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/facelist/create). All those face lists created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March.\n* 'recognition_03': Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'.",
"operationId": "FaceList_Create",
"parameters": [
{
@@ -1018,7 +1018,7 @@
},
"/detect": {
"post": {
- "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). The stored face feature(s) will expire and be deleted 24 hours after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure and noise. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'detection_01': | The default detection model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). Recommend for near frontal face detection. For scenarios with exceptionally large angle (head-pose) faces, occluded faces or wrong image orientation, the faces in such cases may not be detected. |\n | 'detection_02': | Detection model released in 2019 May with improved accuracy especially on small, side and blurry faces. |\n\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [How to specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'recognition_01': | The default recognition model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). All those faceIds created before 2019 March are bonded with this recognition model. |\n | 'recognition_02': | Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'. |",
+ "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). The stored face feature(s) will expire and be deleted 24 hours after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure and noise. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'detection_01': | The default detection model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). Recommend for near frontal face detection. For scenarios with exceptionally large angle (head-pose) faces, occluded faces or wrong image orientation, the faces in such cases may not be detected. |\n | 'detection_02': | Detection model released in 2019 May with improved accuracy especially on small, side and blurry faces. |\n\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [How to specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'recognition_01': | The default recognition model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). All those faceIds created before 2019 March are bonded with this recognition model. |\n | 'recognition_02': | Recognition model released in 2019 March. |\n | 'recognition_03': | Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'. |",
"operationId": "Face_DetectWithUrl",
"parameters": [
{
@@ -1440,7 +1440,7 @@
},
"/largepersongroups/{largePersonGroupId}": {
"put": {
- "description": "Create a new large person group with user-specified largePersonGroupId, name, an optional userData and recognitionModel.\n
A large person group is the container of the uploaded person data, including face recognition feature, and up to 1,000,000\npeople.\n
After creation, use [LargePersonGroup Person - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroupperson/create) to add person into the group, and call [LargePersonGroup - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [LargePersonGroup Person - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroupperson/delete) or [LargePersonGroup - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/delete) is called.\n
'recognitionModel' should be specified to associate with this large person group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing large person group will use the recognition model that's already associated with the collection. Existing face features in a large person group can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [LargePersonGroup - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/create). All those large person groups created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'.\n\nLarge person group quota:\n* Free-tier subscription quota: 1,000 large person groups.\n* S0-tier subscription quota: 1,000,000 large person groups.",
+ "description": "Create a new large person group with user-specified largePersonGroupId, name, an optional userData and recognitionModel.\n
A large person group is the container of the uploaded person data, including face recognition feature, and up to 1,000,000\npeople.\n
After creation, use [LargePersonGroup Person - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroupperson/create) to add person into the group, and call [LargePersonGroup - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/train) to get this group ready for [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
No image will be stored. Only the person's extracted face features and userData will be stored on server until [LargePersonGroup Person - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroupperson/delete) or [LargePersonGroup - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/delete) is called.\n
'recognitionModel' should be specified to associate with this large person group. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing large person group will use the recognition model that's already associated with the collection. Existing face features in a large person group can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [LargePersonGroup - Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup/create). All those large person groups created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March.\n* 'recognition_03': Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'.\n\nLarge person group quota:\n* Free-tier subscription quota: 1,000 large person groups.\n* S0-tier subscription quota: 1,000,000 large person groups.",
"operationId": "LargePersonGroup_Create",
"parameters": [
{
@@ -1742,7 +1742,7 @@
},
"/largefacelists/{largeFaceListId}": {
"put": {
- "description": "Create an empty large face list with user-specified largeFaceListId, name, an optional userData and recognitionModel.\n
Large face list is a list of faces, up to 1,000,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar).\n
After creation, user should use [LargeFaceList Face - Add](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/addfacefromurl) to import the faces and [LargeFaceList - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/train) to make it ready for [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). No image will be stored. Only the extracted face features are stored on server until [LargeFaceList - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/delete) is called.\n
Find Similar is used for scenario like finding celebrity-like faces, similar face filtering, or as a light way face identification. But if the actual use is to identify person, please use [PersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
'recognitionModel' should be specified to associate with this large face list. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing large face list will use the recognition model that's already associated with the collection. Existing face features in a large face list can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [LargeFaceList- Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/create). All those large face lists created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'.\n\nLarge face list quota:\n* Free-tier subscription quota: 64 large face lists.\n* S0-tier subscription quota: 1,000,000 large face lists.",
+ "description": "Create an empty large face list with user-specified largeFaceListId, name, an optional userData and recognitionModel.\n
Large face list is a list of faces, up to 1,000,000 faces, and used by [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar).\n
After creation, user should use [LargeFaceList Face - Add](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/addfacefromurl) to import the faces and [LargeFaceList - Train](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/train) to make it ready for [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). No image will be stored. Only the extracted face features are stored on server until [LargeFaceList - Delete](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/delete) is called.\n
Find Similar is used for scenario like finding celebrity-like faces, similar face filtering, or as a light way face identification. But if the actual use is to identify person, please use [PersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/persongroup) / [LargePersonGroup](https://docs.microsoft.com/rest/api/cognitiveservices/face/largepersongroup) and [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify).\n
'recognitionModel' should be specified to associate with this large face list. The default value for 'recognitionModel' is 'recognition_01', if the latest model needed, please explicitly specify the model you need in this parameter. New faces that are added to an existing large face list will use the recognition model that's already associated with the collection. Existing face features in a large face list can't be updated to features extracted by another version of recognition model.\n* 'recognition_01': The default recognition model for [LargeFaceList- Create](https://docs.microsoft.com/rest/api/cognitiveservices/face/largefacelist/create). All those large face lists created before 2019 March are bonded with this recognition model.\n* 'recognition_02': Recognition model released in 2019 March.\n* 'recognition_03': Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'.\n\nLarge face list quota:\n* Free-tier subscription quota: 64 large face lists.\n* S0-tier subscription quota: 1,000,000 large face lists.",
"operationId": "LargeFaceList_Create",
"parameters": [
{
@@ -2495,7 +2495,7 @@
},
"/detect?overload=stream": {
"post": {
- "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). The stored face feature(s) will expire and be deleted 24 hours after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure and noise. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'detection_01': | The default detection model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). Recommend for near frontal face detection. For scenarios with exceptionally large angle (head-pose) faces, occluded faces or wrong image orientation, the faces in such cases may not be detected. |\n | 'detection_02': | Detection model released in 2019 May with improved accuracy especially on small, side and blurry faces. |\n\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [How to specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'recognition_01': | The default recognition model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). All those faceIds created before 2019 March are bonded with this recognition model. |\n | 'recognition_02': | Recognition model released in 2019 March. 'recognition_02' is recommended since its overall accuracy is improved compared with 'recognition_01'. |",
+ "description": "Detect human faces in an image, return face rectangles, and optionally with faceIds, landmarks, and attributes.
\n* No image will be stored. Only the extracted face feature will be stored on server. The faceId is an identifier of the face feature and will be used in [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar). The stored face feature(s) will expire and be deleted 24 hours after the original detection call.\n* Optional parameters include faceId, landmarks, and attributes. Attributes include age, gender, headPose, smile, facialHair, glasses, emotion, hair, makeup, occlusion, accessories, blur, exposure and noise. Some of the results returned for specific attributes may not be highly accurate.\n* JPEG, PNG, GIF (the first frame), and BMP format are supported. The allowed image file size is from 1KB to 6MB.\n* Up to 100 faces can be returned for an image. Faces are ranked by face rectangle size from large to small.\n* For optimal results when querying [Face - Identify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/identify), [Face - Verify](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/verifyfacetoface), and [Face - Find Similar](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/findsimilar) ('returnFaceId' is true), please use faces that are: frontal, clear, and with a minimum size of 200x200 pixels (100 pixels between eyes).\n* The minimum detectable face size is 36x36 pixels in an image no larger than 1920x1080 pixels. Images with dimensions higher than 1920x1080 pixels will need a proportionally larger minimum face size.\n* Different 'detectionModel' values can be provided. To use and compare different detection models, please refer to [How to specify a detection model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-detection-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'detection_01': | The default detection model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). Recommend for near frontal face detection. For scenarios with exceptionally large angle (head-pose) faces, occluded faces or wrong image orientation, the faces in such cases may not be detected. |\n | 'detection_02': | Detection model released in 2019 May with improved accuracy especially on small, side and blurry faces. |\n\n* Different 'recognitionModel' values are provided. If follow-up operations like Verify, Identify, Find Similar are needed, please specify the recognition model with 'recognitionModel' parameter. The default value for 'recognitionModel' is 'recognition_01', if latest model needed, please explicitly specify the model you need in this parameter. Once specified, the detected faceIds will be associated with the specified recognition model. More details, please refer to [How to specify a recognition model](https://docs.microsoft.com/azure/cognitive-services/face/face-api-how-to-topics/specify-recognition-model)\n | Model | Recommended use-case(s) |\n | ---------- | -------- |\n | 'recognition_01': | The default recognition model for [Face - Detect](https://docs.microsoft.com/rest/api/cognitiveservices/face/face/detectwithurl). All those faceIds created before 2019 March are bonded with this recognition model. |\n | 'recognition_02': | Recognition model released in 2019 March. |\n | 'recognition_03': | Recognition model released in 2020 May. 'recognition_03' is recommended since its overall accuracy is improved compared with 'recognition_01' and 'recognition_02'. |",
"operationId": "Face_DetectWithStream",
"parameters": [
{
@@ -3874,7 +3874,8 @@
},
"enum": [
"recognition_01",
- "recognition_02"
+ "recognition_02",
+ "recognition_03"
]
},
"ApplyScope": {
@@ -4257,7 +4258,8 @@
},
"enum": [
"recognition_01",
- "recognition_02"
+ "recognition_02",
+ "recognition_03"
]
},
"returnRecognitionModel": {
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json
new file mode 100644
index 000000000000..9c401eb68afe
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/FormRecognizer.json
@@ -0,0 +1,1967 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.1-preview.1",
+ "title": "Form Recognizer Client",
+ "description": "Extracts information from forms and images into structured data."
+ },
+ "securityDefinitions": {
+ "apim_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header"
+ }
+ },
+ "security": [
+ {
+ "apim_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}/formrecognizer/v2.1-preview.1",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "$ref": "#/parameters/Endpoint"
+ }
+ ]
+ },
+ "schemes": [
+ "https"
+ ],
+ "paths": {
+ "/custom/models": {
+ "post": {
+ "summary": "Train Custom Model",
+ "description": "Create and train a custom model. The request must include a source parameter that is either an externally accessible Azure storage blob container Uri (preferably a Shared Access Signature Uri) or valid path to a data folder in a locally mounted drive. When local paths are specified, they must follow the Linux/Unix path format and be an absolute path rooted to the input mount configuration setting value e.g., if '{Mounts:Input}' configuration setting value is '/input' then a valid source path would be '/input/contosodataset'. All data to be trained is expected to be under the source folder or sub folders under it. Models are trained using documents that are of the following content type - 'application/pdf', 'image/jpeg', 'image/png', 'image/tiff'. Other type of content is ignored.",
+ "operationId": "TrainCustomModelAsync",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "trainRequest",
+ "in": "body",
+ "description": "Training request parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TrainRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the model being trained. The status of model training is specified in the status property at the model location."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Train custom model": {
+ "$ref": "./examples/TrainBatch.json"
+ },
+ "Train custom model with subfolder filter options": {
+ "$ref": "./examples/TrainBatchWithSubFolders.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/custom/models/{modelId}": {
+ "get": {
+ "summary": "Get Custom Model",
+ "description": "Get detailed information about a custom model.",
+ "operationId": "GetCustomModel",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "includeKeys",
+ "in": "query",
+ "description": "Include list of extracted keys in model information.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Model"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get custom model": {
+ "$ref": "./examples/GetModel.json"
+ }
+ }
+ },
+ "delete": {
+ "summary": "Delete Custom Model",
+ "description": "Mark model for deletion. Model artifacts will be permanently removed within a predetermined period.",
+ "operationId": "DeleteCustomModel",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "Successfully marked model for deletion. Model artifacts will be removed within a predefined time period."
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete custom model": {
+ "$ref": "./examples/DeleteModel.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}/analyze": {
+ "post": {
+ "summary": "Analyze Form",
+ "description": "Extract key-value pairs, tables, and semantic values from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeWithCustomModel",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze form with custom model": {
+ "$ref": "./examples/AnalyzeBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/custom/models/{modelId}/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Form Result",
+ "description": "Obtain current status and the result of the analyze form operation.",
+ "operationId": "GetAnalyzeFormResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze form result": {
+ "$ref": "./examples/AnalyzeOperationResult.json"
+ }
+ }
+ }
+ },
+ "/custom/models/{modelId}/copy": {
+ "post": {
+ "summary": "Copy Custom Model",
+ "description": "Copy custom model stored in this resource (the source) to user specified target Form Recognizer resource.",
+ "operationId": "CopyCustomModel",
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "copyRequest",
+ "in": "body",
+ "description": "Copy request parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CopyRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Copy request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the copy operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Copy custom model": {
+ "$ref": "./examples/CopyModel.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/custom/models/{modelId}/copyResults/{resultId}": {
+ "get": {
+ "summary": "Get Custom Model Copy Result",
+ "description": "Obtain current status and the result of a custom model copy operation.",
+ "operationId": "GetCustomModelCopyResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "modelId",
+ "in": "path",
+ "description": "Model identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Copy operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/CopyOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get copy custom model result": {
+ "$ref": "./examples/CopyOperationResult.json"
+ },
+ "Get copy custom model result with failures": {
+ "$ref": "./examples/CopyOperationResultWithErrors.json"
+ }
+ }
+ }
+ },
+ "/custom/models/copyAuthorization": {
+ "post": {
+ "summary": "Generate Copy Authorization",
+ "description": "Generate authorization to copy a model into the target Form Recognizer resource.",
+ "operationId": "GenerateModelCopyAuthorization",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [],
+ "responses": {
+ "201": {
+ "description": "Copy request is authorized successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the model being copied. The status of model copy is specified in the status property at the model location."
+ }
+ },
+ "schema": {
+ "$ref": "#/definitions/CopyAuthorizationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Copy custom model": {
+ "$ref": "./examples/CopyModelAuthorization.json"
+ }
+ }
+ }
+ },
+ "/custom/models/compose": {
+ "post": {
+ "tags": [
+ "Form"
+ ],
+ "summary": "Compose trained with labels models into one composed model.",
+ "description": "Compose request would include list of models ids.\r\nIt would validate what all models either trained with labels model or composed model.\r\nIt would validate limit of models put together.",
+ "operationId": "ComposeCustomModelsAsync",
+ "consumes": [],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "name": "composeRequest",
+ "in": "body",
+ "description": "Compose models",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ComposeRequest"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Location": {
+ "type": "string",
+ "description": "Location and ID of the composed model. The status of composed model is specified in the status property at the model location."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Compose custom models": {
+ "$ref": "./examples/ComposeModels.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/prebuilt/businessCard/analyze": {
+ "post": {
+ "summary": "Analyze Business Card",
+ "description": "Extract field text and semantic values from a given business card document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.",
+ "operationId": "AnalyzeBusinessCardAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "name": "locale",
+ "in": "query",
+ "description": "Locale of the business card. Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US(default).",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze Business Card": {
+ "$ref": "./examples/BusinessCardBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/prebuilt/businessCard/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Business Card Result",
+ "description": "Track the progress and obtain the result of the analyze business card operation.",
+ "operationId": "GetAnalyzeBusinessCardResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze business card result": {
+ "$ref": "./examples/BusinessCardBatchResult.json"
+ }
+ }
+ }
+ },
+ "/prebuilt/receipt/analyze": {
+ "post": {
+ "summary": "Analyze Receipt",
+ "description": "Extract field text and semantic values from a given receipt document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri) of the document to be analyzed.",
+ "operationId": "AnalyzeReceiptAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "includeTextDetails",
+ "in": "query",
+ "description": "Include text lines and element references in the result.",
+ "required": false,
+ "default": false,
+ "type": "boolean",
+ "x-nullable": false
+ },
+ {
+ "name": "locale",
+ "in": "query",
+ "description": "Locale of the receipt. Supported locales include: en-AU, en-CA, en-GB, en-IN, en-US(default).",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze receipt": {
+ "$ref": "./examples/ReceiptsBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/prebuilt/receipt/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Receipt Result",
+ "description": "Track the progress and obtain the result of the analyze receipt operation.",
+ "operationId": "GetAnalyzeReceiptResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze receipt result": {
+ "$ref": "./examples/ReceiptsBatchResult.json"
+ }
+ }
+ }
+ },
+ "/layout/analyze": {
+ "post": {
+ "summary": "Analyze Layout",
+ "description": "Extract text and layout information from a given document. The input document must be of one of the supported content types - 'application/pdf', 'image/jpeg', 'image/png' or 'image/tiff'. Alternatively, use 'application/json' type to specify the location (Uri or local path) of the document to be analyzed.",
+ "operationId": "AnalyzeLayoutAsync",
+ "consumes": [
+ "application/pdf",
+ "application/json",
+ "image/jpeg",
+ "image/png",
+ "image/tiff"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/FileStream"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Request is queued successfully.",
+ "headers": {
+ "Operation-Location": {
+ "type": "string",
+ "description": "URL containing the resultId used to track the progress and obtain the result of the analyze operation."
+ }
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Analyze layout": {
+ "$ref": "./examples/LayoutBatch.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/layout/analyzeResults/{resultId}": {
+ "get": {
+ "summary": "Get Analyze Layout Result",
+ "description": "Track the progress and obtain the result of the analyze layout operation",
+ "operationId": "GetAnalyzeLayoutResult",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "resultId",
+ "in": "path",
+ "description": "Analyze operation result identifier.",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AnalyzeOperationResult"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get analyze layout result": {
+ "$ref": "./examples/LayoutBatchResult.json"
+ }
+ }
+ }
+ }
+ },
+ "x-ms-paths": {
+ "/custom/models?op=full": {
+ "get": {
+ "summary": "List Custom Models",
+ "description": "Get information about all custom models",
+ "operationId": "ListCustomModels",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "op",
+ "in": "query",
+ "description": "Specify whether to return summary or full list of models.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "full"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Models"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink",
+ "itemName": "modelList"
+ },
+ "x-ms-examples": {
+ "List custom models": {
+ "$ref": "./examples/GetModels.json"
+ }
+ }
+ }
+ },
+ "/custom/models?op=summary": {
+ "get": {
+ "summary": "Get Custom Models",
+ "description": "Get information about all custom models",
+ "operationId": "GetCustomModels",
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "op",
+ "in": "query",
+ "description": "Specify whether to return summary or full list of models.",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "summary"
+ ]
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Models"
+ }
+ },
+ "default": {
+ "description": "Response entity accompanying non-successful responses containing additional details about the error.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get models summary": {
+ "$ref": "./examples/GetModelsSummary.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationStatus": {
+ "type": "string",
+ "description": "Status of the queued operation.",
+ "enum": [
+ "notStarted",
+ "running",
+ "succeeded",
+ "failed"
+ ],
+ "x-ms-enum": {
+ "name": "OperationStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "CopyAuthorizationResult": {
+ "description": "Request parameter that contains authorization claims for copy operation.",
+ "required": [
+ "modelId",
+ "accessToken",
+ "expirationDateTimeTicks"
+ ],
+ "type": "object",
+ "properties": {
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string"
+ },
+ "accessToken": {
+ "description": "Token claim used to authorize the request.",
+ "type": "string"
+ },
+ "expirationDateTimeTicks": {
+ "description": "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.",
+ "type": "integer",
+ "format": "int64"
+ }
+ }
+ },
+ "CopyRequest": {
+ "description": "Request parameter to copy an existing custom model from the source resource to a target resource referenced by the resource ID.",
+ "required": [
+ "targetResourceId",
+ "targetResourceRegion",
+ "copyAuthorization"
+ ],
+ "type": "object",
+ "properties": {
+ "targetResourceId": {
+ "description": "Azure Resource Id of the target Form Recognizer resource where the model is copied to.",
+ "maxLength": 1024,
+ "type": "string",
+ "pattern": "^/subscriptions/[^/]*/resourceGroups/[^/]*/providers/Microsoft.CognitiveServices/accounts/[^/]*$",
+ "x-ms-azure-resource": true
+ },
+ "targetResourceRegion": {
+ "description": "Location of the target Azure resource. A valid Azure region name supported by Cognitive Services.",
+ "type": "string",
+ "pattern": "^[a-z0-9]+$",
+ "minLength": 1,
+ "maxLength": 24
+ },
+ "copyAuthorization": {
+ "description": "Entity that encodes claims to authorize the copy request.",
+ "$ref": "#/definitions/CopyAuthorizationResult"
+ }
+ }
+ },
+ "CopyOperationResult": {
+ "description": "Status and result of the queued copy operation.",
+ "type": "object",
+ "required": [
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "status": {
+ "description": "Operation status.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the copy operation was submitted.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "copyResult": {
+ "description": "Results of the copy operation.",
+ "$ref": "#/definitions/CopyResult"
+ }
+ }
+ },
+ "CopyResult": {
+ "description": "Custom model copy result.",
+ "type": "object",
+ "required": [
+ "modelId"
+ ],
+ "properties": {
+ "modelId": {
+ "description": "Identifier of the target model.",
+ "type": "string",
+ "format": "uuid"
+ },
+ "errors": {
+ "description": "Errors returned during the copy operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "AnalyzeOperationResult": {
+ "description": "Status and result of the queued analyze operation.",
+ "type": "object",
+ "required": [
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "status": {
+ "description": "Operation status.",
+ "$ref": "#/definitions/OperationStatus"
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the analyze operation was submitted.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "analyzeResult": {
+ "description": "Results of the analyze operation.",
+ "$ref": "#/definitions/AnalyzeResult"
+ }
+ }
+ },
+ "ModelName": {
+ "description": "Optional user defined model name (max length: 1024).",
+ "type": "string",
+ "x-nullable": false
+ },
+ "TrainRequest": {
+ "description": "Request parameter to train a new custom model.",
+ "required": [
+ "source"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "Source path containing the training documents.",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ },
+ "sourceFilter": {
+ "$ref": "#/definitions/TrainSourceFilter",
+ "description": "Filter to apply to the documents in the source path for training."
+ },
+ "useLabelFile": {
+ "description": "Use label file for training a model.",
+ "type": "boolean",
+ "default": false
+ },
+ "modelName": {
+ "$ref": "#/definitions/ModelName"
+ }
+ }
+ },
+ "TrainSourceFilter": {
+ "description": "Filter to apply to the documents in the source path for training.",
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "A case-sensitive prefix string to filter documents in the source path for training. For example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for training.",
+ "maxLength": 1024,
+ "minLength": 0,
+ "type": "string"
+ },
+ "includeSubFolders": {
+ "description": "A flag to indicate if sub folders within the set of prefix folders will also need to be included when searching for content to be preprocessed.",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "TrainResult": {
+ "description": "Custom model training result.",
+ "type": "object",
+ "required": [
+ "trainingDocuments"
+ ],
+ "properties": {
+ "trainingDocuments": {
+ "description": "List of the documents used to train the model and any errors reported in each document.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrainingDocumentInfo"
+ }
+ },
+ "fields": {
+ "description": "List of fields used to train the model and the train operation error reported by each.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FormFieldsReport"
+ }
+ },
+ "averageModelAccuracy": {
+ "description": "Average accuracy.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "errors": {
+ "description": "Errors returned during the training operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "SourcePath": {
+ "description": "Uri or local path to source data.",
+ "type": "object",
+ "properties": {
+ "source": {
+ "description": "File source path.",
+ "maxLength": 2048,
+ "minLength": 0,
+ "type": "string"
+ }
+ }
+ },
+ "Attributes": {
+ "description": "Optional model attributes.",
+ "type": "object",
+ "properties": {
+ "isComposed": {
+ "description": "Is this model composed? (default: false).",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "ModelInfo": {
+ "description": "Basic custom model information.",
+ "type": "object",
+ "required": [
+ "modelId",
+ "status",
+ "createdDateTime",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "status": {
+ "description": "Status of the model.",
+ "enum": [
+ "creating",
+ "ready",
+ "invalid"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ModelStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the model was created.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the status was last updated.",
+ "type": "string",
+ "x-nullable": false
+ },
+ "modelName": {
+ "$ref": "#/definitions/ModelName"
+ },
+ "attributes": {
+ "$ref": "#/definitions/Attributes"
+ }
+ }
+ },
+ "Models": {
+ "description": "Response to the list custom models operation.",
+ "type": "object",
+ "properties": {
+ "summary": {
+ "description": "Summary of all trained custom models.",
+ "type": "object",
+ "required": [
+ "count",
+ "limit",
+ "lastUpdatedDateTime"
+ ],
+ "properties": {
+ "count": {
+ "description": "Current count of trained custom models.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "limit": {
+ "description": "Max number of models that can be trained for this account.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "lastUpdatedDateTime": {
+ "format": "date-time",
+ "description": "Date and time (UTC) when the summary was last updated.",
+ "type": "string",
+ "x-nullable": false
+ }
+ }
+ },
+ "modelList": {
+ "description": "Collection of trained custom models.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ModelInfo"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next page of custom models.",
+ "type": "string"
+ }
+ }
+ },
+ "Model": {
+ "description": "Response to the get custom model operation.",
+ "type": "object",
+ "required": [
+ "modelInfo"
+ ],
+ "properties": {
+ "modelInfo": {
+ "$ref": "#/definitions/ModelInfo"
+ },
+ "keys": {
+ "$ref": "#/definitions/KeysResult"
+ },
+ "trainResult": {
+ "description": "Training result for custom model.",
+ "$ref": "#/definitions/TrainResult"
+ },
+ "composedTrainResults": {
+ "type": "array",
+ "description": "Training result for composed model.",
+ "items": {
+ "$ref": "#/definitions/TrainResult"
+ }
+ }
+ }
+ },
+ "KeysResult": {
+ "description": "Keys extracted by the custom model.",
+ "type": "object",
+ "required": [
+ "clusters"
+ ],
+ "properties": {
+ "clusters": {
+ "description": "Object mapping clusterIds to a list of keys.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "array",
+ "uniqueItems": true,
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ }
+ },
+ "TrainingDocumentInfo": {
+ "description": "Report for a custom model training document.",
+ "type": "object",
+ "required": [
+ "documentName",
+ "pages",
+ "errors",
+ "status"
+ ],
+ "properties": {
+ "documentName": {
+ "description": "Training document name.",
+ "type": "string"
+ },
+ "pages": {
+ "format": "int32",
+ "description": "Total number of pages trained.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "errors": {
+ "description": "List of errors.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ },
+ "status": {
+ "description": "Status of the training operation.",
+ "enum": [
+ "succeeded",
+ "partiallySucceeded",
+ "failed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TrainStatus",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ }
+ }
+ },
+ "FormFieldsReport": {
+ "description": "Report for a custom model training field.",
+ "type": "object",
+ "required": [
+ "fieldName",
+ "accuracy"
+ ],
+ "properties": {
+ "fieldName": {
+ "description": "Training field name.",
+ "type": "string"
+ },
+ "accuracy": {
+ "description": "Estimated extraction accuracy for this field.",
+ "type": "number",
+ "x-nullable": false
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ },
+ "ErrorInformation": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ }
+ }
+ },
+ "ComposeRequest": {
+ "description": "Request contract for compose operation.",
+ "required": [
+ "modelIds"
+ ],
+ "type": "object",
+ "properties": {
+ "modelIds": {
+ "description": "List of model ids to compose.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "format": "uuid"
+ }
+ },
+ "modelName": {
+ "$ref": "#/definitions/ModelName"
+ }
+ }
+ },
+ "AnalyzeResult": {
+ "description": "Analyze operation result.",
+ "type": "object",
+ "required": [
+ "version",
+ "readResults"
+ ],
+ "properties": {
+ "version": {
+ "description": "Version of schema used for this result.",
+ "type": "string"
+ },
+ "readResults": {
+ "description": "Text extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReadResult"
+ }
+ },
+ "pageResults": {
+ "description": "Page-level information extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PageResult"
+ }
+ },
+ "documentResults": {
+ "description": "Document-level information extracted from the input.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentResult"
+ }
+ },
+ "errors": {
+ "description": "List of errors reported during the analyze operation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorInformation"
+ }
+ }
+ }
+ },
+ "ReadResult": {
+ "description": "Text extracted from a page in the input document.",
+ "type": "object",
+ "required": [
+ "page",
+ "angle",
+ "width",
+ "height",
+ "unit"
+ ],
+ "properties": {
+ "page": {
+ "description": "The 1-based page number in the input document.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "angle": {
+ "description": "The general orientation of the text in clockwise direction, measured in degrees between (-180, 180].",
+ "type": "number",
+ "minimum": -180,
+ "maximum": 180,
+ "exclusiveMinimum": true,
+ "x-nullable": false
+ },
+ "width": {
+ "description": "The width of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "height": {
+ "description": "The height of the image/PDF in pixels/inches, respectively.",
+ "type": "number",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "unit": {
+ "description": "The unit used by the width, height and boundingBox properties. For images, the unit is \"pixel\". For PDF, the unit is \"inch\".",
+ "type": "string",
+ "enum": [
+ "pixel",
+ "inch"
+ ],
+ "x-ms-enum": {
+ "name": "LengthUnit",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "language": {
+ "description": "The detected language on the page overall.",
+ "$ref": "#/definitions/Language"
+ },
+ "lines": {
+ "description": "When includeTextDetails is set to true, a list of recognized text lines. The maximum number of lines returned is 300 per page. The lines are sorted top to bottom, left to right, although in certain cases proximity is treated with higher priority. As the sorting order depends on the detected text, it may change across images and OCR version updates. Thus, business logic should be built upon the actual line location instead of order.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextLine"
+ }
+ },
+ "selectionMarks": {
+ "description": "List of selection marks extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SelectionMark"
+ }
+ }
+ }
+ },
+ "Language": {
+ "description": "Language code",
+ "type": "string",
+ "enum": [
+ "en",
+ "es"
+ ],
+ "x-ms-enum": {
+ "name": "Language",
+ "modelAsString": true
+ },
+ "x-nullable": false
+ },
+ "TextLine": {
+ "description": "An object representing an extracted text line.",
+ "type": "object",
+ "required": [
+ "text",
+ "boundingBox",
+ "words"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the line.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of an extracted line.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "language": {
+ "description": "The detected language of this line, if different from the overall page language.",
+ "$ref": "#/definitions/Language"
+ },
+ "words": {
+ "description": "List of words in the text line.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TextWord"
+ }
+ }
+ }
+ },
+ "TextWord": {
+ "description": "An object representing a word.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "text"
+ ],
+ "properties": {
+ "text": {
+ "description": "The text content of the word.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of an extracted word.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "BoundingBox": {
+ "description": "Quadrangle bounding box, with coordinates specified relative to the top-left of the original image. The eight numbers represent the four points, clockwise from the top-left corner relative to the text orientation. For image, the (x, y) coordinates are measured in pixels. For PDF, the (x, y) coordinates are measured in inches.",
+ "type": "array",
+ "minItems": 8,
+ "maxItems": 8,
+ "items": {
+ "type": "number",
+ "x-nullable": false
+ }
+ },
+ "PageResult": {
+ "description": "Extracted information from a single page.",
+ "type": "object",
+ "required": [
+ "page"
+ ],
+ "properties": {
+ "page": {
+ "description": "Page number.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "clusterId": {
+ "description": "Cluster identifier.",
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "keyValuePairs": {
+ "description": "List of key-value pairs extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyValuePair"
+ }
+ },
+ "tables": {
+ "description": "List of data tables extracted from the page.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataTable"
+ }
+ }
+ }
+ },
+ "KeyValuePair": {
+ "description": "Information about the extracted key-value pair.",
+ "type": "object",
+ "required": [
+ "key",
+ "value",
+ "confidence"
+ ],
+ "properties": {
+ "label": {
+ "description": "A user defined label for the key/value pair entry.",
+ "type": "string"
+ },
+ "key": {
+ "description": "Information about the extracted key in a key-value pair.",
+ "$ref": "#/definitions/KeyValueElement"
+ },
+ "value": {
+ "description": "Information about the extracted value in a key-value pair.",
+ "$ref": "#/definitions/KeyValueElement"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ }
+ }
+ },
+ "KeyValueElement": {
+ "description": "Information about the extracted key or value in a key-value pair.",
+ "type": "object",
+ "required": [
+ "text"
+ ],
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/KeyValueType"
+ },
+ "text": {
+ "description": "The text content of the key or value.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the key or value.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this key or value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ }
+ }
+ },
+ "KeyValueType": {
+ "type": "string",
+ "description": "Semantic data type of the key value element.",
+ "enum": [
+ "string",
+ "selectionMark"
+ ],
+ "x-ms-enum": {
+ "name": "KeyValueType",
+ "modelAsString": true
+ },
+ "x-nullable": false
+ },
+ "ElementReference": {
+ "description": "Reference to a line, word or selection mark.",
+ "type": "string"
+ },
+ "SelectionMark": {
+ "description": "Information about the extracted selection mark.",
+ "type": "object",
+ "required": [
+ "boundingBox",
+ "confidence",
+ "state"
+ ],
+ "properties": {
+ "boundingBox": {
+ "description": "Bounding box of the selection mark.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "state": {
+ "description": "State of the selection mark.",
+ "type": "string",
+ "enum": [
+ "selected",
+ "unselected"
+ ]
+ }
+ }
+ },
+ "DataTable": {
+ "description": "Information about the extracted table contained in a page.",
+ "type": "object",
+ "required": [
+ "rows",
+ "columns",
+ "cells"
+ ],
+ "properties": {
+ "rows": {
+ "description": "Number of rows.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "columns": {
+ "description": "Number of columns.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ },
+ "cells": {
+ "description": "List of cells contained in the table.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataTableCell"
+ }
+ }
+ }
+ },
+ "DataTableCell": {
+ "description": "Information about the extracted cell in a table.",
+ "type": "object",
+ "required": [
+ "rowIndex",
+ "columnIndex",
+ "text",
+ "boundingBox",
+ "confidence"
+ ],
+ "properties": {
+ "rowIndex": {
+ "description": "Row index of the cell.",
+ "type": "integer",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "columnIndex": {
+ "description": "Column index of the cell.",
+ "type": "integer",
+ "minimum": 0,
+ "x-nullable": false
+ },
+ "rowSpan": {
+ "description": "Number of rows spanned by this cell.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1,
+ "x-nullable": false
+ },
+ "columnSpan": {
+ "description": "Number of columns spanned by this cell.",
+ "type": "integer",
+ "minimum": 1,
+ "default": 1,
+ "x-nullable": false
+ },
+ "text": {
+ "description": "Text content of the cell.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the cell.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence value.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this table cell.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ },
+ "isHeader": {
+ "description": "Is the current cell a header cell?",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ },
+ "isFooter": {
+ "description": "Is the current cell a footer cell?",
+ "type": "boolean",
+ "default": false,
+ "x-nullable": false
+ }
+ }
+ },
+ "DocumentResult": {
+ "description": "A set of extracted fields corresponding to the input document.",
+ "type": "object",
+ "required": [
+ "docType",
+ "pageRange",
+ "fields"
+ ],
+ "properties": {
+ "docType": {
+ "description": "Document type.",
+ "type": "string"
+ },
+ "modelId": {
+ "description": "Model identifier.",
+ "type": "string",
+ "format": "uuid",
+ "x-nullable": false
+ },
+ "pageRange": {
+ "description": "First and last page number where the document is found.",
+ "type": "array",
+ "minItems": 2,
+ "maxItems": 2,
+ "items": {
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ }
+ },
+ "docTypeConfidence": {
+ "description": "Predicted document type confidence.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "fields": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ }
+ }
+ },
+ "FieldValue": {
+ "description": "Recognized field value.",
+ "type": "object",
+ "required": [
+ "type"
+ ],
+ "properties": {
+ "type": {
+ "description": "Type of field value.",
+ "$ref": "#/definitions/FieldValueType"
+ },
+ "valueString": {
+ "description": "String value.",
+ "type": "string"
+ },
+ "valueDate": {
+ "description": "Date value.",
+ "format": "date",
+ "type": "string",
+ "x-nullable": false
+ },
+ "valueTime": {
+ "description": "Time value.",
+ "format": "time",
+ "type": "string",
+ "x-nullable": false
+ },
+ "valuePhoneNumber": {
+ "description": "Phone number value.",
+ "type": "string"
+ },
+ "valueNumber": {
+ "description": "Floating point value.",
+ "type": "number",
+ "x-nullable": false
+ },
+ "valueInteger": {
+ "description": "Integer value.",
+ "type": "integer",
+ "x-nullable": false
+ },
+ "valueArray": {
+ "description": "Array of field values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ },
+ "valueObject": {
+ "description": "Dictionary of named field values.",
+ "type": "object",
+ "additionalProperties": {
+ "$ref": "#/definitions/FieldValue"
+ }
+ },
+ "valueSelectionMark": {
+ "description": "Selection mark value.",
+ "type": "string",
+ "enum": [
+ "selected",
+ "unselected"
+ ],
+ "x-nullable": false
+ },
+ "text": {
+ "description": "Text content of the extracted field.",
+ "type": "string"
+ },
+ "boundingBox": {
+ "description": "Bounding box of the field value, if appropriate.",
+ "$ref": "#/definitions/BoundingBox"
+ },
+ "confidence": {
+ "description": "Confidence score.",
+ "$ref": "#/definitions/Confidence"
+ },
+ "elements": {
+ "description": "When includeTextDetails is set to true, a list of references to the text elements constituting this field.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ElementReference"
+ }
+ },
+ "page": {
+ "description": "The 1-based page number in the input document.",
+ "type": "integer",
+ "minimum": 1,
+ "x-nullable": false
+ }
+ }
+ },
+ "FieldValueType": {
+ "type": "string",
+ "description": "Semantic data type of the field value.",
+ "enum": [
+ "string",
+ "date",
+ "time",
+ "phoneNumber",
+ "number",
+ "integer",
+ "array",
+ "object",
+ "selectionMark"
+ ],
+ "x-ms-enum": {
+ "name": "FieldValueType",
+ "modelAsString": false
+ },
+ "x-nullable": false
+ },
+ "Confidence": {
+ "description": "Confidence value.",
+ "type": "number",
+ "minimum": 0,
+ "maximum": 1,
+ "x-nullable": false
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus2.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "FileStream": {
+ "name": "fileStream",
+ "description": ".json, .pdf, .jpg, .png or .tiff type file stream.",
+ "x-ms-parameter-location": "method",
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/SourcePath"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json
new file mode 100644
index 000000000000..01eb4730ed08
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json
new file mode 100644
index 000000000000..5b8a65ac0a6b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/AnalyzeOperationResult.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json
new file mode 100644
index 000000000000..6521a5fa2244
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatch.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {
+ "source": "http://www.example.com/image.jpg"
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/prebuilt/businessCard/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/BusinessCardBatchResult.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json
new file mode 100644
index 000000000000..0fecac98f79b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ComposeModels.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "composeRequest": {
+ "modelIds": [
+ "4afb20d6-3ed0-4cde-ba40-dbd6207268dd",
+ "6f841356-aa32-42c9-a739-2182c47b79c9"
+ ]
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json
new file mode 100644
index 000000000000..34d6aacb688e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModel.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {},
+ "copyRequest": {
+ "targetResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{resourceName}",
+ "targetResourceRegion": "westus2",
+ "copyAuthorization": {
+ "modelId": "{modelId}",
+ "accessToken": "{accessToken}",
+ "expirationDateTimeTicks": 637190189980000000
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}/copyResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json
new file mode 100644
index 000000000000..2acc95b1fce5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyModelAuthorization.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}"
+ },
+ "body": {
+ "modelId": "{modelId}",
+ "accessToken": "{accessToken}",
+ "expirationDateTimeTicks": 637190189980000000
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json
new file mode 100644
index 000000000000..f7b7b1163884
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResult.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{resultId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2020-01-01T00:00:00Z",
+ "lastUpdatedDateTime": "2020-01-01T00:01:00Z",
+ "copyResult": {
+ "modelId": "{modelId}",
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json
new file mode 100644
index 000000000000..853dd73e595e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/CopyOperationResultWithErrors.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "resultId": "{resultId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "failed",
+ "createdDateTime": "2020-01-01T00:00:00Z",
+ "lastUpdatedDateTime": "2020-01-01T00:01:00Z",
+ "copyResult": {
+ "modelId": "{modelId}",
+ "errors": [
+ {
+ "code": "ResourceResolverError",
+ "message": "{ErrorMessage}"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json
new file mode 100644
index 000000000000..c945ec953dd4
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/DeleteModel.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {}
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json
new file mode 100644
index 000000000000..df1c4b66b252
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModel.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "modelId": "{modelId}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "modelInfo": {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "modelName": "my composed model",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "attributes": {
+ "isComposed": true
+ }
+ },
+ "keys": {
+ "clusters": {
+ "0": [
+ "Invoice",
+ "123112313"
+ ],
+ "1": [
+ "Please remit payment to:",
+ "Microsoft"
+ ]
+ }
+ },
+ "trainResult": {
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ },
+ "composedTrainResults": [
+ {
+ "modelId": "4afb20d6-3ed0-4cde-ba40-dbd6207268dd",
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ },
+ {
+ "modelId": "6f841356-aa32-42c9-a739-2182c47b79c9",
+ "trainingDocuments": [],
+ "fields": [],
+ "averageModelAccuracy": 0,
+ "errors": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json
new file mode 100644
index 000000000000..36ee11465e4f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModels.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "op": "full",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "summary": {
+ "count": 2,
+ "limit": 5000,
+ "lastUpdatedDateTime": "2019-05-01T10:53:21Z"
+ },
+ "modelList": [
+ {
+ "modelId": "f973e3c1-1148-43bb-bea8-49d0603ab3a8",
+ "modelName": "test model 1",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "attributes": {
+ "isComposed": false
+ }
+ },
+ {
+ "modelId": "f973e3c1-0001-43bb-bea8-49d0603ab3a8",
+ "modelName": "test model 2",
+ "status": "ready",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "attributes": {
+ "isComposed": true
+ }
+ }
+ ],
+ "nextLink": ""
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json
new file mode 100644
index 000000000000..507495b78206
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/GetModelsSummary.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "op": "summary",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "summary": {
+ "count": 5,
+ "limit": 5000,
+ "lastUpdatedDateTime": "2019-05-01T10:53:21Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json
new file mode 100644
index 000000000000..1495017a7252
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatch.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "language": "en",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/layout/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json
new file mode 100644
index 000000000000..2a258bfe71bc
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/LayoutBatchResult.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "succeeded",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json
new file mode 100644
index 000000000000..0790699b3fac
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatch.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {}
+ },
+ "responses": {
+ "202": {
+ "headers": {
+ "Operation-Location": "{endpoint}/formrecognizer/v2.1-preview.1/prebuilt/receipt/analyzeResults/{resultId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json
new file mode 100644
index 000000000000..2cf7aa15db22
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/ReceiptsBatchResult.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "resultId": "{result Id}",
+ "body": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "running",
+ "createdDateTime": "2019-05-01T10:53:21Z",
+ "lastUpdatedDateTime": "2019-05-01T10:53:23Z",
+ "analyzeResult": {
+ "version": "v2.1",
+ "readResults": [],
+ "pageResults": [],
+ "documentResults": [],
+ "errors": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json
new file mode 100644
index 000000000000..b67143b72085
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatch.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "/input/data1"
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json
new file mode 100644
index 000000000000..ec88bff4f0d5
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/preview/v2.1-preview.1/examples/TrainBatchWithSubFolders.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "endpoint": "{endpoint}",
+ "Content-Type": "application/json",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "body": {},
+ "trainRequest": {
+ "source": "/input/data1",
+ "sourceFilter": {
+ "prefix": "",
+ "includeSubFolders": false
+ },
+ "useLabelFile": false
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {
+ "Location": "{endpoint}/formrecognizer/v2.1-preview.1/custom/models/{modelId}"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md
index 1f5392f74b54..a3f839b98e64 100644
--- a/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md
+++ b/specification/cognitiveservices/data-plane/FormRecognizer/readme.go.md
@@ -1,4 +1,4 @@
-## Go
+### Go
These settings apply only when `--go` is specified on the command line.
@@ -23,4 +23,4 @@ Please also specify `--go-sdk-folder=Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesRecognitionGeneral",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities returned for each valid document.",
+ "schema": {
+ "$ref": "#/definitions/EntitiesResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entities request": {
+ "$ref": ".//examples//SuccessfulEntitiesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/recognition/pii": {
+ "post": {
+ "summary": "Entities containing personal information",
+ "description": "The API returns a list of entities with personal information (\\\"SSN\\\", \\\"Bank Account\\\" etc) in the document. For the list of supported entity types, check Supported Entity Types in Text Analytics API. See the Supported languages in Text Analytics API for the list of enabled languages.\n",
+ "operationId": "EntitiesRecognitionPii",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "name": "domain",
+ "in": "query",
+ "description": "(Optional) if set to 'PHI', response will contain only PHI entities.",
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of entities containing personal information returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/PiiEntitiesResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity PII request": {
+ "$ref": ".//examples//SuccessfulEntityPIIRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/entities/linking": {
+ "post": {
+ "summary": "Linked entities from a well-known knowledge base",
+ "description": "The API returns a list of recognized entities with links to a well-known knowledge base. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "EntitiesLinking",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a list of recognized entities with links to a well-known knowledge base returned for each valid document",
+ "schema": {
+ "$ref": "#/definitions/EntityLinkingResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Entity Linking request": {
+ "$ref": ".//examples//SuccessfulEntityLinkingRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/keyPhrases": {
+ "post": {
+ "summary": "Key Phrases",
+ "description": "The API returns a list of strings denoting the key phrases in the input text. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "KeyPhrases",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful response results in 0 or more key phrases identified in each valid document",
+ "schema": {
+ "$ref": "#/definitions/KeyPhraseResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Key Phrase request": {
+ "$ref": ".//examples//SuccessfulKeyPhrasesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/languages": {
+ "post": {
+ "summary": "Detect Language",
+ "description": "The API returns the detected language and a numeric score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true. See the Supported languages in Text Analytics API for the list of enabled languages.",
+ "operationId": "Languages",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "$ref": "#/parameters/LanguageInput"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in the detected language with the highest probability for each valid document",
+ "schema": {
+ "$ref": "#/definitions/LanguageResult"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Detect Language request": {
+ "$ref": ".//examples//SuccessfulLanguagesRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/sentiment": {
+ "post": {
+ "summary": "Sentiment",
+ "description": "The API returns a detailed sentiment analysis for the input text. The analysis is done in multiple levels of granularity, start from the a document level, down to sentence and key terms (aspects) and opinions.",
+ "operationId": "Sentiment",
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/ModelVersion"
+ },
+ {
+ "$ref": "#/parameters/ShowStats"
+ },
+ {
+ "name": "opinionMining",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain input and document level statistics including aspect-based sentiment analysis results.",
+ "type": "boolean"
+ },
+ {
+ "$ref": "#/parameters/MultiLanguageInput"
+ },
+ {
+ "$ref": "#/parameters/StringIndexType"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A successful call results in a document sentiment prediction, as well as sentiment scores for each sentiment class (Positive, Negative, and Neutral)",
+ "schema": {
+ "$ref": "#/definitions/SentimentResponse"
+ }
+ },
+ "default": {
+ "description": "Error Response",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Successful Sentiment request": {
+ "$ref": ".//examples//SuccessfulSentimentRequest.json"
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "MultiLanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "The set of documents to process as part of this batch.",
+ "items": {
+ "$ref": "#/definitions/MultiLanguageInput"
+ }
+ }
+ },
+ "description": "Contains a set of input documents to be analyzed by the service."
+ },
+ "MultiLanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string",
+ "description": "The input text to process."
+ },
+ "language": {
+ "type": "string",
+ "description": "(Optional) This is the 2 letter ISO 639-1 representation of a language. For example, use \"en\" for English; \"es\" for Spanish etc. If not set, use \"en\" for English as default."
+ }
+ },
+ "description": "Contains an input document to be analyzed by the service."
+ },
+ "DocumentError": {
+ "type": "object",
+ "required": [
+ "id",
+ "error"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Document Id."
+ },
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
+ "TextAnalyticsError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "InvalidRequest",
+ "InvalidArgument",
+ "InternalServerError",
+ "ServiceUnavailable"
+ ],
+ "x-ms-enum": {
+ "name": "ErrorCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ },
+ "details": {
+ "type": "array",
+ "description": "Details about specific errors that led to this reported error.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ }
+ },
+ "TextAnalyticsWarning": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "LongWordsInDocument",
+ "DocumentTruncated"
+ ],
+ "x-ms-enum": {
+ "name": "WarningCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Warning message."
+ },
+ "targetRef": {
+ "type": "string",
+ "description": "A JSON pointer reference indicating the target object."
+ }
+ }
+ },
+ "InnerError": {
+ "type": "object",
+ "required": [
+ "code",
+ "message"
+ ],
+ "properties": {
+ "code": {
+ "type": "string",
+ "enum": [
+ "InvalidParameterValue",
+ "InvalidRequestBodyFormat",
+ "EmptyRequest",
+ "MissingInputRecords",
+ "InvalidDocument",
+ "ModelVersionIncorrect",
+ "InvalidDocumentBatch",
+ "UnsupportedLanguageCode",
+ "InvalidCountryHint"
+ ],
+ "x-ms-enum": {
+ "name": "InnerErrorCodeValue",
+ "modelAsString": true
+ },
+ "description": "Error code."
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message."
+ },
+ "details": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Error details."
+ },
+ "target": {
+ "type": "string",
+ "description": "Error target."
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "Inner error contains more specific information."
+ }
+ }
+ },
+ "SentimentResponse": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Sentiment analysis per document.",
+ "items": {
+ "$ref": "#/definitions/DocumentSentiment"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentSentiment": {
+ "type": "object",
+ "required": [
+ "id",
+ "sentiment",
+ "confidenceScores",
+ "sentences",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "sentiment": {
+ "type": "string",
+ "description": "Predicted sentiment for document (Negative, Neutral, Positive, or Mixed).",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative",
+ "mixed"
+ ],
+ "x-ms-enum": {
+ "name": "DocumentSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/DocumentStatistics"
+ },
+ "confidenceScores": {
+ "description": "Document level sentiment confidence scores between 0 and 1 for each sentiment class.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "sentences": {
+ "type": "array",
+ "description": "Sentence level sentiment analysis.",
+ "items": {
+ "$ref": "#/definitions/SentenceSentiment"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ }
+ }
+ },
+ "RequestStatistics": {
+ "type": "object",
+ "required": [
+ "documentsCount",
+ "validDocumentsCount",
+ "erroneousDocumentsCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "documentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of documents submitted in the request."
+ },
+ "validDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of valid documents. This excludes empty, over-size limit or non-supported languages documents."
+ },
+ "erroneousDocumentsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of invalid documents. This includes empty, over-size limit or non-supported languages documents."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Number of transactions for the request."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the request payload."
+ },
+ "DocumentStatistics": {
+ "type": "object",
+ "required": [
+ "charactersCount",
+ "transactionsCount"
+ ],
+ "properties": {
+ "charactersCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of text elements recognized in the document."
+ },
+ "transactionsCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of transactions for the document."
+ }
+ },
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload."
+ },
+ "SentimentConfidenceScorePerLabel": {
+ "type": "object",
+ "required": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "neutral": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores between 0 and 1 across all sentiment classes: positive, neutral, negative."
+ },
+ "SentenceSentiment": {
+ "type": "object",
+ "required": [
+ "text",
+ "sentiment",
+ "confidenceScores",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "The sentence text."
+ },
+ "sentiment": {
+ "type": "string",
+ "description": "The predicted Sentiment for the sentence.",
+ "enum": [
+ "positive",
+ "neutral",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "SentenceSentimentValue",
+ "modelAsString": false
+ }
+ },
+ "confidenceScores": {
+ "description": "The sentiment confidence score between 0 and 1 for the sentence for all classes.",
+ "$ref": "#/definitions/SentimentConfidenceScorePerLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The sentence offset from the start of the document."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the sentence."
+ },
+ "aspects": {
+ "type": "array",
+ "description": "The array of aspect object for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceAspect"
+ }
+ },
+ "opinions": {
+ "type": "array",
+ "description": "The array of opinion object for the sentence.",
+ "items": {
+ "$ref": "#/definitions/SentenceOpinion"
+ }
+ }
+ }
+ },
+ "SentenceAspect": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "length",
+ "offset",
+ "relations",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Aspect level sentiment for the aspect in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Aspect level sentiment confidence scores for the aspect in the sentence.",
+ "$ref": "#/definitions/AspectConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The aspect offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the aspect."
+ },
+ "text": {
+ "type": "string",
+ "description": "The aspect text detected."
+ },
+ "relations": {
+ "type": "array",
+ "description": "The array of either opinion or aspect object which is related to the aspect.",
+ "items": {
+ "$ref": "#/definitions/AspectRelation"
+ }
+ }
+ }
+ },
+ "SentenceOpinion": {
+ "type": "object",
+ "required": [
+ "confidenceScores",
+ "isNegated",
+ "length",
+ "offset",
+ "sentiment",
+ "text"
+ ],
+ "properties": {
+ "sentiment": {
+ "type": "string",
+ "enum": [
+ "positive",
+ "mixed",
+ "negative"
+ ],
+ "x-ms-enum": {
+ "name": "TokenSentimentValue",
+ "modelAsString": false
+ },
+ "description": "Opinion level sentiment for the aspect in the sentence."
+ },
+ "confidenceScores": {
+ "description": "Opinion level sentiment confidence scores for the aspect in the sentence.",
+ "$ref": "#/definitions/AspectConfidenceScoreLabel"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The opinion offset from the start of the sentence."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The length of the opinion."
+ },
+ "text": {
+ "type": "string",
+ "description": "The aspect text detected."
+ },
+ "isNegated": {
+ "type": "boolean",
+ "description": "The indicator representing if the opinion is negated."
+ }
+ }
+ },
+ "AspectRelation": {
+ "type": "object",
+ "required": [
+ "ref",
+ "relationType"
+ ],
+ "properties": {
+ "relationType": {
+ "type": "string",
+ "enum": [
+ "opinion",
+ "aspect"
+ ],
+ "x-ms-enum": {
+ "name": "AspectRelationType",
+ "modelAsString": false
+ },
+ "description": "The type related to the aspect."
+ },
+ "ref": {
+ "type": "string",
+ "description": "The JSON pointer indicating the linked object."
+ }
+ }
+ },
+ "AspectConfidenceScoreLabel": {
+ "type": "object",
+ "required": [
+ "negative",
+ "positive"
+ ],
+ "properties": {
+ "positive": {
+ "type": "number",
+ "format": "double"
+ },
+ "negative": {
+ "type": "number",
+ "format": "double"
+ }
+ },
+ "description": "Represents the confidence scores across all sentiment classes: positive, neutral, negative."
+ },
+ "EntitiesResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "PiiEntitiesResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/PiiDocumentEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized entities in the document.",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "PiiDocumentEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "warnings",
+ "redactedText"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized entities in the document.",
+ "items": {
+ "$ref": "#/definitions/Entity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ },
+ "redactedText": {
+ "type": "string",
+ "description": "Returns redacted text."
+ }
+ }
+ },
+ "Entity": {
+ "type": "object",
+ "required": [
+ "text",
+ "category",
+ "offset",
+ "length",
+ "confidenceScore"
+ ],
+ "properties": {
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "category": {
+ "type": "string",
+ "description": "Entity type, such as Person/Location/Org/SSN etc"
+ },
+ "subcategory": {
+ "type": "string",
+ "description": "Entity sub type, such as Age/Year/TimeRange etc"
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity text."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity text."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "Confidence score between 0 and 1 of the extracted entity."
+ }
+ }
+ },
+ "EntityLinkingResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLinkedEntities"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLinkedEntities": {
+ "type": "object",
+ "required": [
+ "id",
+ "entities",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "entities": {
+ "type": "array",
+ "description": "Recognized well-known entities in the document.",
+ "items": {
+ "$ref": "#/definitions/LinkedEntity"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "LinkedEntity": {
+ "type": "object",
+ "required": [
+ "name",
+ "matches",
+ "language",
+ "url",
+ "dataSource"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Entity Linking formal name."
+ },
+ "matches": {
+ "type": "array",
+ "description": "List of instances this entity appears in the text.",
+ "items": {
+ "$ref": "#/definitions/Match"
+ }
+ },
+ "language": {
+ "type": "string",
+ "description": "Language used in the data source."
+ },
+ "id": {
+ "type": "string",
+ "description": "Unique identifier of the recognized entity from the data source."
+ },
+ "url": {
+ "type": "string",
+ "description": "URL for the entity's page from the data source."
+ },
+ "dataSource": {
+ "type": "string",
+ "description": "Data source used to extract entity linking, such as Wiki/Bing etc."
+ },
+ "bingId": {
+ "type": "string",
+ "description": "Bing unique identifier of the recognized entity. Use in conjunction with the Bing Entity Search API to fetch additional relevant information."
+ }
+ }
+ },
+ "Match": {
+ "type": "object",
+ "required": [
+ "confidenceScore",
+ "text",
+ "offset",
+ "length"
+ ],
+ "properties": {
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "If a well-known item is recognized, a decimal number denoting the confidence level between 0 and 1 will be returned."
+ },
+ "text": {
+ "type": "string",
+ "description": "Entity text as appears in the request."
+ },
+ "offset": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Start position for the entity match text."
+ },
+ "length": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Length for the entity match text."
+ }
+ }
+ },
+ "KeyPhraseResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentKeyPhrases"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentKeyPhrases": {
+ "type": "object",
+ "required": [
+ "id",
+ "keyPhrases",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "keyPhrases": {
+ "type": "array",
+ "description": "A list of representative words or phrases. The number of key phrases returned is proportional to the number of words in the input document.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "LanguageBatchInput": {
+ "type": "object",
+ "required": [
+ "documents"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/LanguageInput"
+ }
+ }
+ }
+ },
+ "LanguageInput": {
+ "type": "object",
+ "required": [
+ "id",
+ "text"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "text": {
+ "type": "string"
+ },
+ "countryHint": {
+ "type": "string"
+ }
+ }
+ },
+ "LanguageResult": {
+ "type": "object",
+ "required": [
+ "documents",
+ "errors",
+ "modelVersion"
+ ],
+ "properties": {
+ "documents": {
+ "type": "array",
+ "description": "Response by document",
+ "items": {
+ "$ref": "#/definitions/DocumentLanguage"
+ }
+ },
+ "errors": {
+ "type": "array",
+ "description": "Errors by document id.",
+ "items": {
+ "$ref": "#/definitions/DocumentError"
+ }
+ },
+ "statistics": {
+ "$ref": "#/definitions/RequestStatistics"
+ },
+ "modelVersion": {
+ "type": "string",
+ "description": "This field indicates which model is used for scoring."
+ }
+ }
+ },
+ "DocumentLanguage": {
+ "type": "object",
+ "required": [
+ "id",
+ "detectedLanguage",
+ "warnings"
+ ],
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Unique, non-empty document identifier."
+ },
+ "detectedLanguage": {
+ "description": "Detected Language.",
+ "$ref": "#/definitions/DetectedLanguage"
+ },
+ "warnings": {
+ "type": "array",
+ "description": "Warnings encountered while processing document.",
+ "items": {
+ "$ref": "#/definitions/TextAnalyticsWarning"
+ }
+ },
+ "statistics": {
+ "description": "if showStats=true was specified in the request this field will contain information about the document payload.",
+ "$ref": "#/definitions/DocumentStatistics"
+ }
+ }
+ },
+ "DetectedLanguage": {
+ "type": "object",
+ "required": [
+ "name",
+ "iso6391Name",
+ "confidenceScore"
+ ],
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Long name of a detected language (e.g. English, French)."
+ },
+ "iso6391Name": {
+ "type": "string",
+ "description": "A two letter representation of the detected language according to the ISO 639-1 standard (e.g. en, fr)."
+ },
+ "confidenceScore": {
+ "type": "number",
+ "format": "double",
+ "description": "A confidence score between 0 and 1. Scores close to 1 indicate 100% certainty that the identified language is true."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "Endpoint": {
+ "name": "Endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "x-ms-parameter-location": "client",
+ "required": true,
+ "type": "string",
+ "in": "path",
+ "x-ms-skip-url-encoding": true
+ },
+ "StringIndexType": {
+ "name": "stringIndexType",
+ "in": "query",
+ "type": "string",
+ "description": "(Optional) 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."
+ }
+ ]
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "ShowStats": {
+ "name": "showStats",
+ "in": "query",
+ "description": "(Optional) if set to true, response will contain request and document level statistics.",
+ "type": "boolean",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "ModelVersion": {
+ "name": "model-version",
+ "in": "query",
+ "description": "(Optional) This value indicates which model will be used for scoring. If a model-version is not specified, the API should default to the latest, non-preview version. ",
+ "type": "string",
+ "required": false,
+ "x-ms-parameter-location": "method"
+ },
+ "MultiLanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MultiLanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ },
+ "LanguageInput": {
+ "in": "body",
+ "name": "input",
+ "description": "Collection of documents to analyze for language endpoint.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/LanguageBatchInput"
+ },
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json
new file mode 100644
index 000000000000..75b4489dcb2d
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntitiesRequest.json
@@ -0,0 +1,91 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "I work at Microsoft."
+ },
+ {
+ "language": "en",
+ "id": "3",
+ "text": "I visited Space Needle 2 times."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "text": "Seattle",
+ "category": "Location",
+ "offset": 26,
+ "length": 7,
+ "confidenceScore": 0.80
+ },
+ {
+ "text": "last week",
+ "category": "DateTime",
+ "subcategory": "DateRange",
+ "offset": 34,
+ "length": 9,
+ "confidenceScore": 0.8
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "text": "Microsoft",
+ "category": "Organization",
+ "offset": 10,
+ "length": 9,
+ "confidenceScore": 0.99
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "entities": [
+ {
+ "text": "Space Needle",
+ "category": "Organization",
+ "offset": 10,
+ "length": 12,
+ "confidenceScore": 0.75
+ },
+ {
+ "text": "2",
+ "category": "Quantity",
+ "subcategory": "Number",
+ "offset": 23,
+ "length": 1,
+ "confidenceScore": 0.8
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json
new file mode 100644
index 000000000000..2ad23b9ad32c
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityLinkingRequest.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "I had a wonderful trip to Seattle last week."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "I work at Microsoft."
+ },
+ {
+ "language": "en",
+ "id": "3",
+ "text": "I visited Space Needle 2 times."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "entities": [
+ {
+ "name": "Seattle",
+ "matches": [
+ {
+ "text": "Seattle",
+ "offset": 26,
+ "length": 7,
+ "confidenceScore": 0.15
+ }
+ ],
+ "language": "en",
+ "id": "Seattle",
+ "url": "https://en.wikipedia.org/wiki/Seattle",
+ "dataSource": "Wikipedia",
+ "bingId": "39d000e8-389d-22a3-4309-ffffc115d00e"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "name": "Microsoft",
+ "matches": [
+ {
+ "text": "Microsoft",
+ "offset": 10,
+ "length": 9,
+ "confidenceScore": 0.18
+ }
+ ],
+ "language": "en",
+ "id": "Microsoft",
+ "url": "https://en.wikipedia.org/wiki/Microsoft",
+ "dataSource": "Wikipedia",
+ "bingId": "39d000e8-389d-22a3-4309-ffffc115d00f"
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "entities": [
+ {
+ "name": "Space Needle",
+ "matches": [
+ {
+ "text": "Space Needle",
+ "offset": 10,
+ "length": 12,
+ "confidenceScore": 0.15
+ }
+ ],
+ "language": "en",
+ "id": "Space Needle",
+ "url": "https://en.wikipedia.org/wiki/Space_Needle",
+ "dataSource": "Wikipedia"
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json
new file mode 100644
index 000000000000..90d2ea58bd29
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulEntityPIIRequest.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "0",
+ "text": "Microsoft employee with ssn 859-98-0987 is using our awesome API's."
+ },
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Your ABA number - 111000025 - is the first 9 digits in the lower left hand corner of your personal check."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "Is 998.214.865-68 your Brazilian CPF number?"
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "0",
+ "entities": [
+ {
+ "text": "859-98-0987",
+ "category": "U.S. Social Security Number (SSN)",
+ "subcategory": "",
+ "offset": 28,
+ "length": 11,
+ "confidenceScore": 0.65
+ }
+ ],
+ "redactedText": "Microsoft employee with ssn ******** is using our awesome API's.",
+ "warnings": []
+ },
+ {
+ "id": "1",
+ "entities": [
+ {
+ "text": "111000025",
+ "category": "ABA Routing Number",
+ "subcategory": "",
+ "offset": 18,
+ "length": 9,
+ "confidenceScore": 0.75
+ }
+ ],
+ "redactedText": "Your ABA number - ******** - is the first 9 digits in the lower left hand corner of your personal check.",
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "entities": [
+ {
+ "text": "998.214.865-68",
+ "category": "Brazil CPF Number",
+ "subcategory": "",
+ "offset": 3,
+ "length": 14,
+ "confidenceScore": 0.85
+ }
+ ],
+ "redactedText": "Is ******** your Brazilian CPF number?",
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json
new file mode 100644
index 000000000000..12ff0ccce583
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulKeyPhrasesRequest.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Hello world. This is some input text that I love."
+ },
+ {
+ "language": "fr",
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "language": "es",
+ "id": "3",
+ "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "keyPhrases": [
+ "world",
+ "input text"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "keyPhrases": [
+ "monde"
+ ],
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "keyPhrases": [
+ "carretera",
+ "tráfico",
+ "día"
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json
new file mode 100644
index 000000000000..a74d7155c8e0
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulLanguagesRequest.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "countryHint": "US",
+ "id": "1",
+ "text": "Hello world"
+ },
+ {
+ "id": "2",
+ "text": "Bonjour tout le monde"
+ },
+ {
+ "id": "3",
+ "text": "La carretera estaba atascada. Había mucho tráfico el día de ayer."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "detectedLanguage": {
+ "name": "English",
+ "iso6391Name": "en",
+ "confidenceScore": 1
+ },
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "detectedLanguage": {
+ "name": "French",
+ "iso6391Name": "fr",
+ "confidenceScore": 1
+ },
+ "warnings": []
+ },
+ {
+ "id": "3",
+ "detectedLanguage": {
+ "name": "Spanish",
+ "iso6391Name": "es",
+ "confidenceScore": 1
+ },
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2019-10-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json
new file mode 100644
index 000000000000..ad3fc48d2cae
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/preview/v3.1-preview.2/examples/SuccessfulSentimentRequest.json
@@ -0,0 +1,323 @@
+{
+ "parameters": {
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "Endpoint": "{Endpoint}",
+ "input": {
+ "documents": [
+ {
+ "language": "en",
+ "id": "1",
+ "text": "Great atmosphere. Close to plenty of restaurants, hotels, and transit! Staff are friendly and helpful."
+ },
+ {
+ "language": "en",
+ "id": "2",
+ "text": "Bad atmosphere. Not close to plenty of restaurants, hotels, and transit! Staff are not friendly and helpful."
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "documents": [
+ {
+ "id": "1",
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "neutral": 0.0,
+ "negative": 0.0
+ },
+ "sentences": [
+ {
+ "text": "Great atmosphere.",
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "neutral": 0.0,
+ "negative": 0.0
+ },
+ "offset": 0,
+ "length": 17,
+ "aspects": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "negative": 0.0
+ },
+ "offset": 6,
+ "length": 10,
+ "text": "atmosphere",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/0/sentences/0/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "negative": 0.0
+ },
+ "offset": 0,
+ "length": 5,
+ "text": "great",
+ "isNegated": false
+ }
+ ]
+ },
+ {
+ "text": "Close to plenty of restaurants, hotels, and transit!",
+ "sentiment": "neutral",
+ "confidenceScores": {
+ "positive": 0.13,
+ "neutral": 0.86,
+ "negative": 0.01
+ },
+ "offset": 18,
+ "length": 52,
+ "aspects": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 0.99,
+ "negative": 0.01
+ },
+ "offset": 37,
+ "length": 11,
+ "text": "restaurants",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/0/sentences/1/opinions/0"
+ }
+ ]
+ },
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 0.99,
+ "negative": 0.01
+ },
+ "offset": 50,
+ "length": 6,
+ "text": "hotels",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/0/sentences/1/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 0.99,
+ "negative": 0.01
+ },
+ "offset": 18,
+ "length": 15,
+ "text": "close to plenty",
+ "isNegated": false
+ }
+ ]
+ },
+ {
+ "text": "Staff are friendly and helpful.",
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "neutral": 0.0,
+ "negative": 0.0
+ },
+ "offset": 71,
+ "length": 31,
+ "aspects": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "negative": 0.0
+ },
+ "offset": 71,
+ "length": 5,
+ "text": "Staff",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/0/sentences/2/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "positive",
+ "confidenceScores": {
+ "positive": 1.0,
+ "negative": 0.0
+ },
+ "offset": 81,
+ "length": 8,
+ "text": "friendly",
+ "isNegated": false
+ }
+ ]
+ }
+ ],
+ "warnings": []
+ },
+ {
+ "id": "2",
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.01,
+ "neutral": 0.14,
+ "negative": 0.85
+ },
+ "sentences": [
+ {
+ "text": "Bad atmosphere.",
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.0,
+ "neutral": 0.0,
+ "negative": 1.0
+ },
+ "offset": 8,
+ "length": 15,
+ "aspects": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.01,
+ "negative": 0.99
+ },
+ "offset": 4,
+ "length": 10,
+ "text": "atmosphere",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/1/sentences/0/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.01,
+ "negative": 0.99
+ },
+ "offset": 0,
+ "length": 3,
+ "text": "bad",
+ "isNegated": false
+ }
+ ]
+ },
+ {
+ "text": "Not close to plenty of restaurants, hotels, and transit!",
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.02,
+ "neutral": 0.44,
+ "negative": 0.54
+ },
+ "offset": 16,
+ "length": 56,
+ "aspects": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.03,
+ "negative": 0.97
+ },
+ "offset": 39,
+ "length": 11,
+ "text": "restaurants",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/1/sentences/1/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.03,
+ "negative": 0.97
+ },
+ "offset": 20,
+ "length": 5,
+ "text": "close",
+ "isNegated": true
+ }
+ ]
+ },
+ {
+ "text": "Staff are not friendly and helpful.",
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.0,
+ "neutral": 0.0,
+ "negative": 1.0
+ },
+ "offset": 73,
+ "length": 35,
+ "aspects": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.0,
+ "negative": 1.0
+ },
+ "offset": 73,
+ "length": 5,
+ "text": "Staff",
+ "relations": [
+ {
+ "relationType": "opinion",
+ "ref": "#/documents/1/sentences/2/opinions/0"
+ }
+ ]
+ }
+ ],
+ "opinions": [
+ {
+ "sentiment": "negative",
+ "confidenceScores": {
+ "positive": 0.0,
+ "negative": 1.0
+ },
+ "offset": 87,
+ "length": 8,
+ "text": "friendly",
+ "isNegated": true
+ }
+ ]
+ }
+ ],
+ "warnings": []
+ }
+ ],
+ "errors": [],
+ "modelVersion": "2020-04-01"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
index 3cad53b7f8b5..441e055ee4d0 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/readme.md
@@ -170,6 +170,14 @@ These settings apply only when `--tag=release_3_1_preview.1` is specified on the
input-file: preview/v3.1-preview.1/TextAnalytics.json
```
+### Release 3.1-Preview.2
+
+These settings apply only when `--tag=release_3_1_preview.2` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_1_preview.2'
+input-file: preview/v3.1-preview.2/TextAnalytics.json
+```
+
## Swagger to SDK
This section describes what SDK should be generated by the automatic system.
@@ -268,6 +276,7 @@ input-file:
- $(this-folder)/preview/v3.0-preview.1/TextAnalytics.json
- $(this-folder)/stable/v3.0/TextAnalytics.json
- $(this-folder)/preview/v3.1-preview.1/TextAnalytics.json
+ - $(this-folder)/preview/v3.1-preview.2/TextAnalytics.json
```
diff --git a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json
index 81ec70c74f6b..7cb1299f0de4 100644
--- a/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json
+++ b/specification/cognitiveservices/data-plane/TextAnalytics/stable/v3.0/TextAnalytics.json
@@ -80,7 +80,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -138,7 +138,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -196,7 +196,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -254,7 +254,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -312,7 +312,7 @@
"default": {
"description": "Error Response",
"schema": {
- "$ref": "#/definitions/TextAnalyticsError"
+ "$ref": "#/definitions/ErrorResponse"
}
}
},
@@ -382,6 +382,19 @@
}
}
},
+ "ErrorResponse": {
+ "type": "object",
+ "required": [
+ "error"
+ ],
+ "properties": {
+ "error": {
+ "type": "object",
+ "description": "Document Error.",
+ "$ref": "#/definitions/TextAnalyticsError"
+ }
+ }
+ },
"TextAnalyticsError": {
"type": "object",
"required": [
@@ -663,7 +676,8 @@
"sentiment",
"confidenceScores",
"offset",
- "length"
+ "length",
+ "text"
],
"properties": {
"text": {
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json
new file mode 100644
index 000000000000..a335724dfb36
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/TranslatorBatch.json
@@ -0,0 +1,1293 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Batch Document Translation Client",
+ "version": "v1.0-preview.1"
+ },
+ "paths": {
+ "/batches": {
+ "post": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Submit a batch document translation request to the translation service",
+ "description": "Submit a batch request to the document translation service.\r\n \r\nEach request can consists of multiple inputs.\r\nEach input will contains both a source and destination container for source and target language pair.\r\n \r\nThe prefix and suffix filter (if supplied) will be used to filter the folders.\r\nThe prefix will be applied to the subpath after the container name\r\n \r\nGlossaries / Translation memory can be supplied and will be applied when the document is being translated.\r\nIf the glossary is invalid or unreachable during translation time. An error will be indicated in the document status.\r\n \r\nIf the file with the same name already exists in the destination, it will be overwritten.\r\nTargetUrl for each target language needs to be unique.",
+ "operationId": "Translation_SubmitBatchRequest",
+ "consumes": [
+ "application/json",
+ "text/json",
+ "application/*+json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "body",
+ "name": "body",
+ "description": "request details",
+ "schema": {
+ "$ref": "#/definitions/BatchSubmissionRequest"
+ }
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Successful request and the batch request is created by the service. The header Operation-Location will indicate a status url with the operation id.",
+ "headers": {
+ "Operation-Location": {
+ "description": "Location of batch the operation",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request. Check input parameters",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 400120,\r\n \"error\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Batch Submit": {
+ "$ref": "./examples/batch.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Returns the list of operations submitted and their summary status",
+ "description": "Returns the list of status of the translation batch operation.\r\nThe list will consist only of the batch request submitted by the user (based on their subscription)\r\n \r\nThe operation status are sorted by the operation Id\r\n \r\nIf the number of operations exceed our paging limit, server side paging will be used.\r\nPaginated responses will indicate a partial result by including a continuation token in the response. The absence of a continuation token means that no additional pages are available.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nThe server will honor the values specified by the client; however, clients MUST be prepared to handle responses that contain a different page size or contain a continuation token.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options. This will avoid the risk of the client making assumptions about the data returned.",
+ "operationId": "Translation_GetOperations",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "query",
+ "name": "$top",
+ "description": "Take the $top entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 100,
+ "minimum": 1
+ },
+ {
+ "in": "query",
+ "name": "$skip",
+ "description": "Skip the $skip entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first",
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "maximum": 2147483647,
+ "minimum": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and returns the status of the all the operations",
+ "schema": {
+ "$ref": "#/definitions/BatchStatusResponse"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "ETag": {
+ "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request. Check input parameters",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 400120,\r\n \"error\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get status for batch operations": {
+ "$ref": "./examples/operations.json"
+ }
+ }
+ }
+ },
+ "/batches/{id}/documents/{documentId}": {
+ "get": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Returns the status of the specific document",
+ "description": "Returns the status of the translation of the document.",
+ "operationId": "Translation_GetDocumentStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Format - uuid. The batch id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "in": "path",
+ "name": "documentId",
+ "description": "Format - uuid. The document id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and it is accepted by the service. The operation details are returned",
+ "schema": {
+ "$ref": "#/definitions/DocumentStatusDetail"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "ETag": {
+ "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "Resource is not found",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 404000,\r\n \"error\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Document Status": {
+ "$ref": "./examples/document.json"
+ }
+ }
+ }
+ },
+ "/batches/{id}": {
+ "get": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Returns the status of the batch translation operation",
+ "description": "Returns the status of the translation batch operation.\r\nThe status will include the overall job status as well as a summary of the current progress of all the documents being translated.",
+ "operationId": "Translation_GetOperationStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Format - uuid. The operation id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and returns the status of the batch translation operation",
+ "schema": {
+ "$ref": "#/definitions/BatchStatusDetail"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "ETag": {
+ "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "Resource is not found",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 404000,\r\n \"error\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Batch Operation Status": {
+ "$ref": "./examples/operation.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Cancel a currently processing or queued operation.",
+ "description": "Cancel a currently processing or queued operation.\r\nAn operation will not be cancelled if it is already completed or failed or cancelling. A bad request will be returned.\r\nAll documents that have completed translation will not be cancelled and will be charged.\r\nAll pending documents will be cancelled if possible.",
+ "operationId": "Translation_CancelOperation",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Format - uuid. The operation-id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Cancel request has been submitted",
+ "schema": {
+ "$ref": "#/definitions/BatchStatusDetail"
+ }
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "Resource is not found",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 404000,\r\n \"error\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"batch\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Cancel a batch operation example": {
+ "$ref": "./examples/cancel.json"
+ }
+ }
+ }
+ },
+ "/batches/{id}/documents": {
+ "get": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Returns the status of the documents of a translation batch operation",
+ "description": "Returns the status of the list of documents translation operation by a given operation id.\r\n \r\nThe documents are sorted by the document Id\r\n \r\nIf the number of documents exceed our paging limit, server side paging will be used.\r\nPaginated responses will indicate a partial result by including a continuation token in the response. The absence of a continuation token means that no additional pages are available.\r\n \r\nClients MAY use $top and $skip query parameters to specify a number of results to return and an offset into the collection.\r\nThe server will honor the values specified by the client; however, clients MUST be prepared to handle responses that contain a different page size or contain a continuation token.\r\nWhen both $top and $skip are given by a client, the server SHOULD first apply $skip and then $top on the collection.\r\nNote: If the server can't honor $top and/or $skip, the server MUST return an error to the client informing about it instead of just ignoring the query options. This will avoid the risk of the client making assumptions about the data returned.",
+ "operationId": "Translation_GetOperationDocumentsStatus",
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "in": "path",
+ "name": "id",
+ "description": "Format - uuid. The operation id",
+ "required": true,
+ "type": "string",
+ "format": "uuid"
+ },
+ {
+ "in": "query",
+ "name": "$top",
+ "description": "Take the $top entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first",
+ "type": "integer",
+ "format": "int32",
+ "default": 50,
+ "maximum": 100,
+ "minimum": 1
+ },
+ {
+ "in": "query",
+ "name": "$skip",
+ "description": "Skip the $skip entries in the collection\r\nWhen both $top and $skip are supplied, $skip is applied first",
+ "type": "integer",
+ "format": "int32",
+ "default": 0,
+ "maximum": 2147483647,
+ "minimum": 0
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and returns the status of the documents",
+ "schema": {
+ "$ref": "#/definitions/DocumentStatusResponse"
+ },
+ "headers": {
+ "Retry-After": {
+ "description": "Indicates how long to wait before making a new request.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "ETag": {
+ "description": "The ETag response-header field provides the current value of the entity tag for the requested variant. Used with If-Match, If-None-Match and If-Range to implement optimistic concurrency control.",
+ "type": "string",
+ "format": ""
+ }
+ }
+ },
+ "400": {
+ "description": "Invalid request. Check input parameters",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InvalidRequest\",\r\n \"message\": \"Some argument is incorrect\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 400120,\r\n \"error\": \"SASTokenInvalid\",\r\n \"message\": \"SAS token for storage is invalid\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "401": {
+ "description": "Unauthorized. Please check your credentials",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"Unauthorized\",\r\n \"message\": \"User is not authorized\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 401000,\r\n \"error\": \"Unauthorized\",\r\n \"message\": \"Operation is not authorized\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "404": {
+ "description": "Resource is not found",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ResourceNotFound\",\r\n \"message\": \"id not found\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 404000,\r\n \"error\": \"ResourceNotFound\",\r\n \"message\": \"Resource requested is not found\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"document\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Documents Status for the operation batch id": {
+ "$ref": "./examples/documents.json"
+ }
+ }
+ }
+ },
+ "/documents/formats": {
+ "get": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Returns the list of supported document formats",
+ "description": "The list of supported document formats supported by our service.\r\nThe list will include the common file extension used and supported as well as the content-type if using the upload API.",
+ "operationId": "Translation_GetDocumentFormats",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the list of supported document file formats",
+ "schema": {
+ "$ref": "#/definitions/FileFormatListResult"
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Document Formats": {
+ "$ref": "./examples/format.json"
+ }
+ }
+ }
+ },
+ "/glossaries/formats": {
+ "get": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Returns the list of supported document formats",
+ "description": "The list of supported glossary formats supported by our service.\r\nThe list will include the common file extension used.",
+ "operationId": "Translation_GetGlossaryFormats",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Returns the list of supported glossary file formats",
+ "schema": {
+ "$ref": "#/definitions/FileFormatListResult"
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"format\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Glossary Formats": {
+ "$ref": "./examples/glossary.json"
+ }
+ }
+ }
+ },
+ "/storagesources": {
+ "get": {
+ "tags": [
+ "Translation"
+ ],
+ "summary": "Returns the list of supported storage sources",
+ "description": "The list of storage sources supported by our service.",
+ "operationId": "Translation_GetDocumentStorageSource",
+ "produces": [
+ "application/json"
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request and returns the list of storage sources",
+ "schema": {
+ "$ref": "#/definitions/StorageSourceListResult"
+ }
+ },
+ "429": {
+ "description": "Too many requests",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"RequestRateTooHigh\",\r\n \"message\": \"User\\u0027s request rate is too high\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": 429000,\r\n \"error\": \"RateTooHigh\",\r\n \"message\": \"Request rate is too high\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "500": {
+ "description": "Internal Server Error",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"InternalServerError\",\r\n \"message\": \"Internal Server Error\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": 500000,\r\n \"error\": \"Internal Server Error\",\r\n \"message\": \"Unexpected internal server error has occurred\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ },
+ "503": {
+ "description": "Server temporary unavailable",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ },
+ "examples": {
+ "application/json": "{\r\n \"error\": {\r\n \"code\": \"ServiceUnavailable\",\r\n \"message\": \"Service is temporary unavailable\",\r\n \"target\": \"source\",\r\n \"innerError\": {\r\n \"code\": 503000,\r\n \"error\": \"ServiceTemporaryUnavailable\",\r\n \"message\": \"Service is currently unavailable. Please try again later\"\r\n }\r\n }\r\n}"
+ },
+ "x-ms-error-response": true
+ }
+ },
+ "x-ms-examples": {
+ "Get Document Storage Sources": {
+ "$ref": "./examples/storage.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DocumentFilter": {
+ "type": "object",
+ "properties": {
+ "prefix": {
+ "description": "A case-sensitive prefix string to filter documents in the source path for translation. \r\nFor example, when using a Azure storage blob Uri, use the prefix to restrict sub folders for translation.",
+ "type": "string",
+ "example": "FolderA"
+ },
+ "suffix": {
+ "description": "A case-sensitive suffix string to filter documents in the source path for translation. \r\nThis is most often use for file extensions",
+ "type": "string",
+ "example": ".txt"
+ }
+ }
+ },
+ "StorageSource": {
+ "description": "Storage Source",
+ "enum": [
+ "AzureBlob"
+ ],
+ "type": "string"
+ },
+ "SourceInput": {
+ "description": "Source of the input documents",
+ "required": [
+ "sourceUrl"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceUrl": {
+ "description": "Location of the folder / container or single file with your documents",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/Container/"
+ },
+ "filter": {
+ "$ref": "#/definitions/DocumentFilter"
+ },
+ "language": {
+ "description": "Language code\r\nIf none is specified, we will perform auto detect on the document",
+ "type": "string",
+ "example": "en"
+ },
+ "storageSource": {
+ "$ref": "#/definitions/StorageSource"
+ }
+ }
+ },
+ "Glossary": {
+ "description": "Glossary / translation memory for the request",
+ "required": [
+ "glossaryUrl"
+ ],
+ "type": "object",
+ "properties": {
+ "glossaryUrl": {
+ "description": "Location of the glossary. \r\nWe will use the file extension to extract the formating if the format parameter is not supplied.\r\n\r\nIf the translation language pair is not present in the glossary, it will not be applied",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/Container/myglossary.tsv"
+ },
+ "format": {
+ "description": "Format",
+ "type": "string",
+ "example": "XLIFF"
+ },
+ "version": {
+ "description": "Version",
+ "type": "string",
+ "example": "2.0"
+ }
+ }
+ },
+ "TargetInput": {
+ "description": "Destination for the finished translated documents",
+ "required": [
+ "language",
+ "targetUrl"
+ ],
+ "type": "object",
+ "properties": {
+ "targetUrl": {
+ "description": "Location of the folder / container with your documents",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/TargetUrl/"
+ },
+ "category": {
+ "description": "Category / custom system for translation request",
+ "type": "string",
+ "example": "general"
+ },
+ "language": {
+ "description": "Target Language",
+ "type": "string",
+ "example": "fr"
+ },
+ "glossaries": {
+ "description": "List of Glossary",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Glossary"
+ }
+ },
+ "storageSource": {
+ "$ref": "#/definitions/StorageSource"
+ }
+ }
+ },
+ "StorageInputType": {
+ "description": "Storage type of the input documents source string",
+ "enum": [
+ "Folder",
+ "File"
+ ],
+ "type": "string"
+ },
+ "BatchRequest": {
+ "description": "Definition for the input batch translation request",
+ "required": [
+ "source",
+ "targets"
+ ],
+ "type": "object",
+ "properties": {
+ "source": {
+ "$ref": "#/definitions/SourceInput"
+ },
+ "targets": {
+ "description": "Location of the destination for the output",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TargetInput"
+ }
+ },
+ "storageType": {
+ "$ref": "#/definitions/StorageInputType"
+ }
+ }
+ },
+ "BatchSubmissionRequest": {
+ "description": "Job submission batch request",
+ "required": [
+ "inputs"
+ ],
+ "type": "object",
+ "properties": {
+ "inputs": {
+ "description": "The input list of documents or folders containing documents",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BatchRequest"
+ }
+ }
+ }
+ },
+ "Status": {
+ "description": "List of possible statuses for job or document",
+ "enum": [
+ "NotStarted",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling"
+ ],
+ "type": "string"
+ },
+ "StatusSummary": {
+ "type": "object",
+ "properties": {
+ "total": {
+ "format": "int32",
+ "description": "Total count",
+ "type": "integer",
+ "example": 1
+ },
+ "failed": {
+ "format": "int32",
+ "description": "Failed count",
+ "type": "integer",
+ "example": 0
+ },
+ "success": {
+ "format": "int32",
+ "description": "Number of Success",
+ "type": "integer",
+ "example": 1
+ },
+ "inProgress": {
+ "format": "int32",
+ "description": "Number of in progress",
+ "type": "integer",
+ "example": 0
+ },
+ "notYetStarted": {
+ "format": "int32",
+ "description": "Count of not yet started",
+ "type": "integer",
+ "example": 0
+ },
+ "cancelled": {
+ "format": "int32",
+ "description": "Number of cancelled",
+ "type": "integer",
+ "example": 0
+ }
+ }
+ },
+ "BatchStatusDetail": {
+ "description": "Job status response",
+ "required": [
+ "createdDateTimeUtc",
+ "id",
+ "lastActionDateTimeUtc",
+ "summary"
+ ],
+ "type": "object",
+ "properties": {
+ "id": {
+ "format": "uuid",
+ "description": "Id of the operation.",
+ "type": "string",
+ "example": "36724748-f7a0-4db7-b7fd-f041ddc75033"
+ },
+ "createdDateTimeUtc": {
+ "format": "date-time",
+ "description": "Operation created date time",
+ "type": "string",
+ "example": "2020-01-20T11:40:07.7010000-08:00"
+ },
+ "lastActionDateTimeUtc": {
+ "format": "date-time",
+ "description": "Date time in which the operation's status has been updated",
+ "type": "string",
+ "example": "2020-01-20T11:41:07.7010000-08:00"
+ },
+ "status": {
+ "$ref": "#/definitions/Status"
+ },
+ "summary": {
+ "$ref": "#/definitions/StatusSummary"
+ }
+ }
+ },
+ "BatchStatusResponse": {
+ "description": "Document Status Response",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The summary status of individual operation",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BatchStatusDetail"
+ }
+ },
+ "@nextLink": {
+ "description": "Url for the next page. Null if no more pages available",
+ "type": "string",
+ "example": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operations?$top=5&$skip=15"
+ }
+ }
+ },
+ "ErrorCodeV2": {
+ "description": "Enums containing high level error codes.",
+ "enum": [
+ "InvalidRequest",
+ "InvalidArgument",
+ "InternalServerError",
+ "ServiceUnavailable",
+ "ResourceNotFound",
+ "Unauthorized",
+ "RequestRateTooHigh"
+ ],
+ "type": "string"
+ },
+ "InnerErrorV2": {
+ "description": "New Inner Error format which conforms to Cognitive Services API Guidelines which is available at https://microsoft.sharepoint.com/%3Aw%3A/t/CognitiveServicesPMO/EUoytcrjuJdKpeOKIK_QRC8BPtUYQpKBi8JsWyeDMRsWlQ?e=CPq8ow.\r\nThis contains required properties ErrorCode, message and optional properties target, details(key value pair), inner error(this can be nested).",
+ "type": "object",
+ "properties": {
+ "code": {
+ "format": "int32",
+ "description": "Gets detailed error code.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "error": {
+ "description": "Gets detailed error string.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Gets high level error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "Gets the source of the error. \r\nFor example it would be \"documents\" or \"document id\" in case of invalid document.",
+ "type": "string",
+ "readOnly": true
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorV2"
+ }
+ }
+ },
+ "ErrorV2": {
+ "description": "This contains an outer error with error code, message, details, target and an inner error with more descriptive details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "$ref": "#/definitions/ErrorCodeV2"
+ },
+ "message": {
+ "description": "Gets high level error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "target": {
+ "description": "Gets the source of the error. \r\nFor example it would be \"documents\" or \"document id\" in case of invalid document.",
+ "type": "string",
+ "readOnly": true
+ },
+ "innerError": {
+ "$ref": "#/definitions/InnerErrorV2"
+ }
+ }
+ },
+ "DocumentStatusDetail": {
+ "required": [
+ "createdDateTimeUtc",
+ "lastActionDateTimeUtc",
+ "path",
+ "status",
+ "to"
+ ],
+ "type": "object",
+ "properties": {
+ "path": {
+ "description": "Location of the document or folder",
+ "type": "string",
+ "example": "https://myblob.blob.core.windows.net/mycontainer/fr/mydoc.txt"
+ },
+ "createdDateTimeUtc": {
+ "format": "date-time",
+ "description": "Operation created date time",
+ "type": "string",
+ "example": "2020-01-20T11:40:07.7010000-08:00"
+ },
+ "lastActionDateTimeUtc": {
+ "format": "date-time",
+ "description": "Date time in which the operation's status has been updated",
+ "type": "string",
+ "example": "2020-01-20T11:41:07.7010000-08:00"
+ },
+ "status": {
+ "$ref": "#/definitions/Status"
+ },
+ "detectedLanguage": {
+ "description": "Detected language of the original document (to be implemented)",
+ "type": "string",
+ "example": "en"
+ },
+ "to": {
+ "description": "To language",
+ "type": "string"
+ },
+ "error": {
+ "$ref": "#/definitions/ErrorV2"
+ },
+ "progress": {
+ "format": "float",
+ "description": "Progress of the translation if available",
+ "maximum": 1,
+ "minimum": 0,
+ "type": "number",
+ "example": 0.5
+ },
+ "id": {
+ "format": "uuid",
+ "description": "Document Id",
+ "type": "string",
+ "example": "1c7399a7-6913-4f20-bb43-e2fe2ba1a67d"
+ }
+ }
+ },
+ "DocumentStatusResponse": {
+ "description": "Document Status Response",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The detail status of individual documents",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DocumentStatusDetail"
+ }
+ },
+ "@nextLink": {
+ "description": "Url for the next page. Null if no more pages available",
+ "type": "string",
+ "example": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operations/727BF148-F327-47A0-9481-ABAE6362F11E/documents?$top=5&$skip=15"
+ }
+ }
+ },
+ "FileFormat": {
+ "type": "object",
+ "properties": {
+ "format": {
+ "description": "Name of the format",
+ "type": "string",
+ "example": "PlainText"
+ },
+ "fileExtensions": {
+ "description": "Supported file extension for this format",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "contentTypes": {
+ "description": "Supported Content-Types for this format",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "versions": {
+ "description": "Supported Version",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "FileFormatListResult": {
+ "description": "Base type for List return in our api",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "list of objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/FileFormat"
+ }
+ }
+ }
+ },
+ "StorageSourceListResult": {
+ "description": "Base type for List return in our api",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "list of objects",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageSource"
+ }
+ }
+ }
+ },
+ "ErrorResponseV2": {
+ "description": "Contains unified error information used for HTTP responses across any Cognitive Service. Instances\r\ncan be created either through Microsoft.CloudAI.Containers.HttpStatusExceptionV2 or by returning it directly from\r\na controller.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorV2"
+ }
+ }
+ }
+ },
+ "securityDefinitions": {
+ "subscription_key": {
+ "type": "apiKey",
+ "name": "Ocp-Apim-Subscription-Key",
+ "in": "header",
+ "description": "Provide your cognitive services subscription key here."
+ }
+ },
+ "security": [
+ {
+ "subscription_key": []
+ }
+ ],
+ "x-ms-parameterized-host": {
+ "hostTemplate": "{endpoint}/translator/text/batch/v1.0-preview.1",
+ "useSchemePrefix": false,
+ "parameters": [
+ {
+ "in": "path",
+ "name": "endpoint",
+ "description": "Supported Cognitive Services endpoints (protocol and hostname, for example: https://westus.api.cognitive.microsoft.com).",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "client",
+ "x-ms-skip-url-encoding": true
+ }
+ ]
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json
new file mode 100644
index 000000000000..f4c0fe1c1c19
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/batch.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "api-version": "v1.0-preview.1",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "batchRequest": {
+ "inputs": [
+ {
+ "source": {
+ "sourceUrl": "https://myblob.blob.core.windows.net/sourceContainer",
+ "filter": {
+ "prefix": "pre",
+ "suffix": ".txt"
+ },
+ "language": "en",
+ "storageSource": "AzureBlob"
+ },
+ "targets": [
+ {
+ "targetUrl": "https://myblob.blob.core.windows.net/destinationContainer1",
+ "category": "general",
+ "language": "fr",
+ "glossaries": [
+ {
+ "glossaryUrl": "https://myblob.blob.core.windows.net/myglossary/en_fr_glossary.xlf"
+ }
+ ],
+ "storageSource": "AzureBlob"
+ },
+ {
+ "targetUrl": "https://myblob.blob.core.windows.net/destinationContainer2",
+ "category": "general",
+ "language": "es",
+ "storageSource": "AzureBlob"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "innerError": {
+ "code": 401000,
+ "error": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "innerError": {
+ "code": 429000,
+ "error": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "innerError": {
+ "code": 500000,
+ "error": "Internal Server Error",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "innerError": {
+ "code": 503000,
+ "error": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "202": {
+ "headers": {
+ "Operation-Location": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Some argument is incorrect",
+ "innerError": {
+ "code": 400120,
+ "error": "SASTokenInvalid",
+ "message": "SAS token for storage is invalid"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/cancel.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/cancel.json
new file mode 100644
index 000000000000..582b7c86043b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/cancel.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "v1.0-preview.1",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "id": "727BF148-F327-47A0-9481-ABAE6362F11E"
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Operation",
+ "innerError": {
+ "code": 401000,
+ "error": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Operation",
+ "innerError": {
+ "code": 429000,
+ "error": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Operation",
+ "innerError": {
+ "code": 500000,
+ "error": "Internal Server Error",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Operation",
+ "innerError": {
+ "code": 503000,
+ "error": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ResourceNotFound",
+ "message": "id not found",
+ "target": "Operation",
+ "innerError": {
+ "code": 404000,
+ "error": "ResourceNotFound",
+ "message": "Resource requested is not found"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "727bf148-f327-47a0-9481-abae6362f11e",
+ "createdDateTimeUtc": "2020-03-26T00:00:00Z",
+ "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "status": "Succeeded",
+ "summary": {
+ "total": 10,
+ "failed": 1,
+ "success": 9,
+ "inProgress": 0,
+ "notYetStarted": 0,
+ "cancelled": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json
new file mode 100644
index 000000000000..0ba43466b7de
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/document.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "api-version": "v1.0-preview.1",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "id": "727BF148-F327-47A0-9481-ABAE6362F11E",
+ "documentId": 199800
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Document",
+ "innerError": {
+ "code": 401000,
+ "error": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Document",
+ "innerError": {
+ "code": 429000,
+ "error": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Document",
+ "innerError": {
+ "code": 500000,
+ "error": "Internal Server Error",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Document",
+ "innerError": {
+ "code": 503000,
+ "error": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ResourceNotFound",
+ "message": "id not found",
+ "target": "Document",
+ "innerError": {
+ "code": 404000,
+ "error": "ResourceNotFound",
+ "message": "Resource requested is not found"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "path": "https://myblob.blob.core.windows.net/destinationContainer/fr/mydoc.txt",
+ "createdDateTimeUtc": "2020-03-26T00:00:00Z",
+ "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "status": "Running",
+ "detectedLanguage": "en",
+ "to": "fr",
+ "progress": 0.1,
+ "id": "273622bd-835c-4946-9798-fd8f19f6bbf2"
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json
new file mode 100644
index 000000000000..cdb8df766ea7
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/documents.json
@@ -0,0 +1,125 @@
+{
+ "parameters": {
+ "api-version": "v1.0-preview.1",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "id": "727BF148-F327-47A0-9481-ABAE6362F11E",
+ "$top": 5,
+ "$skip": 10
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Document",
+ "innerError": {
+ "code": 401000,
+ "error": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Document",
+ "innerError": {
+ "code": 429000,
+ "error": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Document",
+ "innerError": {
+ "code": 500000,
+ "error": "Internal Server Error",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Document",
+ "innerError": {
+ "code": 503000,
+ "error": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ResourceNotFound",
+ "message": "id not found",
+ "target": "Document",
+ "innerError": {
+ "code": 404000,
+ "error": "ResourceNotFound",
+ "message": "Resource requested is not found"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ {
+ "path": "https://myblob.blob.core.windows.net/destinationContainer/fr/mydoc.txt",
+ "createdDateTimeUtc": "2020-03-26T00:00:00Z",
+ "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "status": "Running",
+ "detectedLanguage": "en",
+ "to": "fr",
+ "progress": 0.1,
+ "id": "273622bd-835c-4946-9798-fd8f19f6bbf2"
+ }
+ ],
+ "@nextLink": "https://westus.cognitiveservices.azure.com/translator/text/batch/v1.0.preview.1/operation/0FA2822F-4C2A-4317-9C20-658C801E0E55/documents?$top=5&$skip=15"
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Some argument is incorrect",
+ "target": "Document",
+ "innerError": {
+ "code": 400120,
+ "error": "SASTokenInvalid",
+ "message": "SAS token for storage is invalid"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json
new file mode 100644
index 000000000000..66452ed6c1a9
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/format.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "v1.0-preview.1",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "innerError": {
+ "code": 429000,
+ "error": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "innerError": {
+ "code": 500000,
+ "error": "Internal Server Error",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "innerError": {
+ "code": 503000,
+ "error": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ {
+ "format": "PlainText",
+ "fileExtensions": [
+ ".txt"
+ ],
+ "contentTypes": [
+ "text/plain"
+ ],
+ "versions": []
+ },
+ {
+ "format": "OpenXmlWord",
+ "fileExtensions": [
+ ".docx"
+ ],
+ "contentTypes": [
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document"
+ ],
+ "versions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json
new file mode 100644
index 000000000000..6c8fd7d5af2b
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/glossary.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "v1.0-preview.1",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "innerError": {
+ "code": 429000,
+ "error": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "innerError": {
+ "code": 500000,
+ "error": "Internal Server Error",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "innerError": {
+ "code": 503000,
+ "error": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ {
+ "format": "XLIFF",
+ "fileExtensions": [
+ ".xlf"
+ ],
+ "contentTypes": [
+ "application/xliff+xml"
+ ],
+ "versions": [
+ "1.2",
+ "2.0"
+ ]
+ },
+ {
+ "format": "TMX",
+ "fileExtensions": [
+ ".tmx"
+ ],
+ "contentTypes": [],
+ "versions": []
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operation.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operation.json
new file mode 100644
index 000000000000..88adf548729e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operation.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "v1.0-preview.1",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}",
+ "id": "727BF148-F327-47A0-9481-ABAE6362F11E"
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Operation",
+ "innerError": {
+ "code": 401000,
+ "error": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Operation",
+ "innerError": {
+ "code": 429000,
+ "error": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Operation",
+ "innerError": {
+ "code": 500000,
+ "error": "Internal Server Error",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Operation",
+ "innerError": {
+ "code": 503000,
+ "error": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "404": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ResourceNotFound",
+ "message": "id not found",
+ "target": "Operation",
+ "innerError": {
+ "code": 404000,
+ "error": "ResourceNotFound",
+ "message": "Resource requested is not found"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "id": "727bf148-f327-47a0-9481-abae6362f11e",
+ "createdDateTimeUtc": "2020-03-26T00:00:00Z",
+ "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "status": "Succeeded",
+ "summary": {
+ "total": 10,
+ "failed": 1,
+ "success": 9,
+ "inProgress": 0,
+ "notYetStarted": 0,
+ "cancelled": 0
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json
new file mode 100644
index 000000000000..0bef1580c01f
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/operations.json
@@ -0,0 +1,110 @@
+{
+ "parameters": {
+ "api-version": "v1.0-preview.1",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "401": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "Unauthorized",
+ "message": "User is not authorized",
+ "target": "Operation",
+ "innerError": {
+ "code": 401000,
+ "error": "Unauthorized",
+ "message": "Operation is not authorized"
+ }
+ }
+ }
+ },
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "target": "Operation",
+ "innerError": {
+ "code": 429000,
+ "error": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "target": "Operation",
+ "innerError": {
+ "code": 500000,
+ "error": "Internal Server Error",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "target": "Operation",
+ "innerError": {
+ "code": 503000,
+ "error": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "retry-after": "30",
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ {
+ "id": "727bf148-f327-47a0-9481-abae6362f11e",
+ "createdDateTimeUtc": "2020-03-26T00:00:00Z",
+ "lastActionDateTimeUtc": "2020-03-26T01:00:00Z",
+ "status": "Succeeded",
+ "summary": {
+ "total": 10,
+ "failed": 1,
+ "success": 9,
+ "inProgress": 0,
+ "notYetStarted": 0,
+ "cancelled": 0
+ }
+ }
+ ]
+ }
+ },
+ "400": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InvalidRequest",
+ "message": "Some argument is incorrect",
+ "target": "Operation",
+ "innerError": {
+ "code": 400120,
+ "error": "SASTokenInvalid",
+ "message": "SAS token for storage is invalid"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json
new file mode 100644
index 000000000000..309b22d92b7e
--- /dev/null
+++ b/specification/cognitiveservices/data-plane/TranslatorText/preview/v1.0-preview.1/examples/storage.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "api-version": "v1.0-preview.1",
+ "subscriptionId": "EA19050C-51FC-4B55-84E5-9EA7283601DA",
+ "resourceGroupName": "TestResourceGroup",
+ "endpoint": "{endpoint}",
+ "Ocp-Apim-Subscription-Key": "{API key}"
+ },
+ "responses": {
+ "429": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "RequestRateTooHigh",
+ "message": "User's request rate is too high",
+ "innerError": {
+ "code": 429000,
+ "error": "RateTooHigh",
+ "message": "Request rate is too high"
+ }
+ }
+ }
+ },
+ "500": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "InternalServerError",
+ "message": "Internal Server Error",
+ "innerError": {
+ "code": 500000,
+ "error": "Internal Server Error",
+ "message": "Unexpected internal server error has occurred"
+ }
+ }
+ }
+ },
+ "503": {
+ "headers": {},
+ "body": {
+ "error": {
+ "code": "ServiceUnavailable",
+ "message": "Service is temporary unavailable",
+ "innerError": {
+ "code": 503000,
+ "error": "ServiceTemporaryUnavailable",
+ "message": "Service is currently unavailable. Please try again later"
+ }
+ }
+ }
+ },
+ "200": {
+ "headers": {
+ "ETag": "686897696a7c876b7e"
+ },
+ "body": {
+ "value": [
+ "AzureBlob"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/data-plane/TranslatorText/readme.md b/specification/cognitiveservices/data-plane/TranslatorText/readme.md
index 4e0143fa3acc..5a735afe3c26 100644
--- a/specification/cognitiveservices/data-plane/TranslatorText/readme.md
+++ b/specification/cognitiveservices/data-plane/TranslatorText/readme.md
@@ -6,6 +6,8 @@ Configuration for generating Translator Text SDK.
The current release is `release_3_0`.
+The current document batch preview release is `release_1_0_preview.1'`.
+
``` yaml
tag: release_3_0
@@ -13,8 +15,21 @@ add-credentials: true
openapi-type: data-plane
```
+``` yaml
+
+tag: release_1_0_preview.1
+add-credentials: true
+openapi-type: data-plane
+```
+
# Releases
+### Preview 1.0
+This setting is for batch document translator and only applied when `--tag=release_1_0_preview.1` is specified on the command line.
+``` yaml $(tag) == 'release_1_0_preview.1'
+input-file: preview/v1.0-preview.1/TranslatorBatch.json
+```
+
### Release 3.0
These settings apply only when `--tag=release_3_0` is specified on the command line.
@@ -90,6 +105,15 @@ go:
``` yaml $(go) && $(multiapi)
batch:
- tag: release_3_0
+ - tag: release_1_0_preview.1
+```
+### Tag: release_1_0_preview.1 and go
+
+These settings apply only when `--tag=release_1_0_preview.1 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'release_1_0_preview.1' && $(go)
+output-folder: $(go-sdk-folder)/services/cognitiveservices/v1.0_preview.1/$(namespace)
```
### Tag: release_3_0 and go
@@ -120,8 +144,7 @@ java:
``` yaml $(nodejs)
nodejs:
- package-name: azure-cognitiveservices-newssearch
- package-version: 3.0.0
+ package-name: azure-cognitiveservices-translatortext
output-folder: $(node-sdks-folder)/lib/services/translatorText
azure-arm: false
generate-license-txt: true
@@ -129,6 +152,22 @@ nodejs:
generate-readme-md: false
```
+### Tag: release_1_0_preview.1 and nodejs
+
+These settings apply only when `--tag=release_1_0_preview.1 --nodejs` is specified on the command line.
+
+``` yaml $(tag) == 'release_1_0_preview.1' && $(nodejs)
+ package-version: 1.0.1
+```
+
+### Tag: release_3_0 and go
+
+These settings apply only when `--tag=release_3_0 --nodejs` is specified on the command line.
+
+``` yaml $(tag) == 'release_3_0' && $(nodejs)
+ package-version: 3.0.0
+```
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -141,6 +180,7 @@ require: $(this-folder)/../../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/preview/v1.0-preview.1/TranslatorBatch.json
- $(this-folder)/stable/v3.0/TranslatorText.json
```
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
index 6fafff2877ff..b342758b1f81 100644
--- a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
@@ -641,6 +641,48 @@
}
}
},
+ "/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/v1/types.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/accountNameParameter"
+ },
+ {
+ "$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 endpoint connections.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/Error"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.CognitiveServices/accounts/{accountName}/privateEndpointConnections/{privateEndpointConnectionName}": {
"get": {
"tags": [
@@ -1658,6 +1700,18 @@
},
"description": "The user owned storage for Cognitive Services account."
},
+ "PrivateEndpointConnectionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private endpoint connections",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ },
+ "description": "A list of private endpoint connections"
+ },
"PrivateEndpointConnection": {
"properties": {
"properties": {
diff --git a/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..54f2f6a453fc
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/Microsoft.CognitiveServices/stable/2017-04-18/examples/ListPrivateEndpointConnections.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "res6977",
+ "accountName": "sto2527",
+ "api-version": "2019-06-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",
+ "actionRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md b/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b39fda607747
--- /dev/null
+++ b/specification/cognitiveservices/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-cognitiveservices-2017-04-18
+ - tag: schema-cognitiveservices-2016-02-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-cognitiveservices-2017-04-18 and azureresourceschema
+
+``` yaml $(tag) == 'schema-cognitiveservices-2017-04-18' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CognitiveServices/stable/2017-04-18/cognitiveservices.json
+
+```
+
+### Tag: schema-cognitiveservices-2016-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-cognitiveservices-2016-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CognitiveServices/preview/2016-02-01-preview/cognitiveservices.json
+
+```
diff --git a/specification/cognitiveservices/resource-manager/readme.md b/specification/cognitiveservices/resource-manager/readme.md
index 5e1afb8546f0..49f7177b6ab1 100644
--- a/specification/cognitiveservices/resource-manager/readme.md
+++ b/specification/cognitiveservices/resource-manager/readme.md
@@ -70,6 +70,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_cognitive_services']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cognitiveservices/resource-manager
```
@@ -141,6 +144,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/commerce/resource-manager/readme.azureresourceschema.md b/specification/commerce/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..10ddf94097fb
--- /dev/null
+++ b/specification/commerce/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-commerce-2015-06-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-commerce-2015-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-commerce-2015-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Commerce/preview/2015-06-01-preview/commerce.json
+
+```
diff --git a/specification/commerce/resource-manager/readme.md b/specification/commerce/resource-manager/readme.md
index 1726ab907cca..4f7967777da7 100644
--- a/specification/commerce/resource-manager/readme.md
+++ b/specification/commerce/resource-manager/readme.md
@@ -51,6 +51,8 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-sdk-for-python
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-commerce
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
@@ -58,6 +60,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_commerce']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js commerce/resource-manager
```
@@ -76,16 +81,29 @@ python:
namespace: azure.mgmt.commerce
package-name: azure-mgmt-commerce
clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
no-namespace-folders: true
- output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(python) && $(multiapi)
+batch:
+ - tag: package-2015-06-preview
+```
+
+### Tag: package-2015-06-preview and python
+
+These settings apply only when `--tag=package-2015-06-preview --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2015-06-preview' && $(python)
+namespace: azure.mgmt.commerce.v2015_06_01_preview
+output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview
python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce
+ namespace: azure.mgmt.commerce.v2015_06_01_preview
+ output-folder: $(python-sdks-folder)/commerce/azure-mgmt-commerce/azure/mgmt/commerce/v2015_06_01_preview
```
## Go
@@ -128,6 +146,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/common-types/resource-management/v1/privatelinks.json b/specification/common-types/resource-management/v1/privatelinks.json
index d6cb94988421..91e640b03feb 100644
--- a/specification/common-types/resource-management/v1/privatelinks.json
+++ b/specification/common-types/resource-management/v1/privatelinks.json
@@ -61,7 +61,7 @@
"type": "string",
"description": "The reason for approval/rejection of the connection."
},
- "actionRequired": {
+ "actionsRequired": {
"type": "string",
"description": "A message indicating if changes on the service provider require any updates on the consumer."
}
diff --git a/specification/common-types/resource-management/v2/types.json b/specification/common-types/resource-management/v2/types.json
new file mode 100644
index 000000000000..7ee7093af3e8
--- /dev/null
+++ b/specification/common-types/resource-management/v2/types.json
@@ -0,0 +1,473 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2.0",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "Resource": {
+ "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. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "AzureEntityResource": {
+ "x-ms-client-name": "AzureEntityResource",
+ "description": "The resource model definition for a Azure Resource Manager resource with an etag.",
+ "properties": {
+ "etag": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource Etag."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "TrackedResource": {
+ "description": "The resource model definition for a ARM tracked top level resource",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ProxyResource": {
+ "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "ResourceModelWithAllowedPropertySet": {
+ "description": "The resource model definition containing the full set of allowed properties for a resource. Except properties bag, there cannot be a top level property outside of this set.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "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",
+ "x-ms-mutability": [
+ "read"
+ ],
+ "description": "The type of the resource. Ex- Microsoft.Compute/virtualMachines or Microsoft.Storage/storageAccounts.."
+ },
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "The geo-location where the resource lives"
+ },
+ "managedBy": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "The fully qualified resource ID of the resource that manages this resource. Indicates if this resource is managed by another azure resource. If this is present, complete mode deployment will not delete the resource if it is removed from the template since it is managed by another resource."
+ },
+ "kind": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "Metadata used by portal/tooling/etc to render different UX experiences for resources of the same type; e.g. ApiApps are a kind of Microsoft.Web/sites type. If supported, the resource provider must validate and persist this value.",
+ "pattern": "^[-\\w\\._,\\(\\)]+$"
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal etag convention. Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields. "
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "x-ms-mutability": [
+ "read",
+ "create",
+ "update"
+ ],
+ "description": "Resource tags."
+ },
+ "identity": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Identity"
+ }
+ ]
+ },
+ "sku": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Sku"
+ }
+ ]
+ },
+ "plan": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Plan"
+ }
+ ]
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "Sku": {
+ "description": "The resource model definition representing SKU",
+ "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"
+ ],
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": false
+ },
+ "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"
+ ]
+ },
+ "Identity": {
+ "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 identity type.",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ }
+ }
+ },
+ "Plan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "A user defined name of the 3rd Party Artifact that is being procured."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher of the 3rd Party Artifact that is being bought. E.g. NewRelic"
+ },
+ "product": {
+ "type": "string",
+ "description": "The 3rd Party artifact that is being procured. E.g. NewRelic. Product maps to the OfferID specified for the artifact at the time of Data Market onboarding. "
+ },
+ "promotionCode": {
+ "type": "string",
+ "description": "A publisher provided promotion code as provisioned in Data Market for the said product/artifact."
+ },
+ "version": {
+ "type": "string",
+ "description": "The version of the desired product/artifact."
+ }
+ },
+ "description": "Plan for the resource.",
+ "required": [
+ "name",
+ "publisher",
+ "product"
+ ]
+ },
+ "ErrorResponse": {
+ "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/ErrorResponse"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ }
+ },
+ "description": "The resource management error response."
+ },
+ "ErrorAdditionalInfo": {
+ "properties": {
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The additional info type."
+ },
+ "info": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The additional info."
+ }
+ },
+ "description": "The resource management error additional info."
+ },
+ "locationData": {
+ "description": "Metadata pertaining to the geographic location of the resource.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "maxLength": 256,
+ "description": "A canonical name for the geographic or physical location."
+ },
+ "city": {
+ "type": "string",
+ "description": "The city or locality where the resource is located."
+ },
+ "district": {
+ "type": "string",
+ "description": "The district, state, or province where the resource is located."
+ },
+ "countryOrRegion": {
+ "type": "string",
+ "description": "The country or region where the resource is located"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "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."
+ }
+ }
+ },
+ "encryptionProperties": {
+ "description": "Configuration of key for data encryption",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Indicates whether or not the encryption is enabled for container registry.",
+ "enum": [
+ "enabled",
+ "disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionStatus",
+ "modelAsString": true
+ }
+ },
+ "keyVaultProperties": {
+ "$ref": "#/definitions/KeyVaultProperties",
+ "description": "Key vault properties."
+ }
+ }
+ },
+ "KeyVaultProperties": {
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "description": "Key vault uri to access the encryption key.",
+ "type": "string"
+ },
+ "identity": {
+ "description": "The client id of the identity which will be used to access key vault.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "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.",
+ "pattern": "^[-\\w\\._\\(\\)]+$",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json
new file mode 100644
index 000000000000..2b58d146d876
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/AddToSharingProfileInAGallery.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "sharingUpdate": {
+ "operationType": "Add",
+ "groups": [
+ {
+ "type": "Subscriptions",
+ "ids": [
+ "34a4ab42-0d72-47d9-bd1a-aed207386dac",
+ "380fd389-260b-41aa-bad9-0a83108c370b"
+ ]
+ },
+ {
+ "type": "AADTenants",
+ "ids": [
+ "c24c76aa-8897-4027-9b03-8f7928b54ff6"
+ ]
+ }
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "operationType": "Add",
+ "groups": [
+ {
+ "type": "Subscriptions",
+ "ids": [
+ "34a4ab42-0d72-47d9-bd1a-aed207386dac",
+ "380fd389-260b-41aa-bad9-0a83108c370b"
+ ]
+ },
+ {
+ "type": "AADTenants",
+ "ids": [
+ "c24c76aa-8897-4027-9b03-8f7928b54ff6"
+ ]
+ }
+ ]
+ }
+ },
+ "202": {
+ "body": {
+ "operationType": "Add",
+ "groups": [
+ {
+ "type": "Subscriptions",
+ "ids": [
+ "34a4ab42-0d72-47d9-bd1a-aed207386dac",
+ "380fd389-260b-41aa-bad9-0a83108c370b"
+ ]
+ },
+ {
+ "type": "AADTenants",
+ "ids": [
+ "c24c76aa-8897-4027-9b03-8f7928b54ff6"
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json
new file mode 100644
index 000000000000..be3c726713ed
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGallery.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "gallery": {
+ "location": "West US",
+ "properties": {
+ "description": "This is the gallery description."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json
new file mode 100644
index 000000000000..d4f969d2d11e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplication.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplication": {
+ "location": "West US",
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json
new file mode 100644
index 000000000000..6942466a93b3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryApplicationVersion.json
@@ -0,0 +1,123 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "galleryApplicationVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "endOfLifeDate": "2019-07-01T07:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Creating"
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json
new file mode 100644
index 000000000000..13f9b61d3641
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImage.json
@@ -0,0 +1,75 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImage": {
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json
new file mode 100644
index 000000000000..a3353dfdd97e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersion.json
@@ -0,0 +1,221 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
new file mode 100644
index 000000000000..d3e4274210ce
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json
@@ -0,0 +1,226 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet",
+ "lun": 1
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}"
+ },
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "hostCaching": "None"
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{osSnapshotName}"
+ },
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}"
+ },
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json
new file mode 100644
index 000000000000..e2b1b504c1ff
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.json
@@ -0,0 +1,176 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "location": "West US",
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet",
+ "lun": 1
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json
new file mode 100644
index 000000000000..b9852f7f8548
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "gallery": {
+ "location": "West US",
+ "properties": {
+ "description": "This is the gallery description.",
+ "sharingProfile": {
+ "permissions": "Groups"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating",
+ "sharingProfile": {
+ "permissions": "Groups"
+ }
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Creating",
+ "sharingProfile": {
+ "permissions": "Groups"
+ }
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ },
+ "202": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating",
+ "sharingProfile": {
+ "permissions": "Groups"
+ }
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json
new file mode 100644
index 000000000000..2abe4517a561
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGallery.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json
new file mode 100644
index 000000000000..f1014e7b7f78
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplication.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json
new file mode 100644
index 000000000000..e4a43f69b126
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryApplicationVersion.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json
new file mode 100644
index 000000000000..6d760641d7b4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImage.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json
new file mode 100644
index 000000000000..76001cffb9b2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/DeleteAGalleryImageVersion.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json
new file mode 100644
index 000000000000..7ef46189bfcc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGallery.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json
new file mode 100644
index 000000000000..37c4d1d42a00
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplication.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json
new file mode 100644
index 000000000000..ca16dd2d6f84
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersion.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json
new file mode 100644
index 000000000000..e3d246d4bf3e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryApplicationVersionWithReplicationStatus.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "$expand": "ReplicationStatus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "replicationStatus": {
+ "aggregatedState": "Completed",
+ "summary": [
+ {
+ "region": "West US",
+ "state": "Completed",
+ "details": "",
+ "progress": 100
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json
new file mode 100644
index 000000000000..8e4305e0148c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImage.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json
new file mode 100644
index 000000000000..c65d0cc43058
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersion.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json
new file mode 100644
index 000000000000..7462407b0222
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithReplicationStatus.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "$expand": "ReplicationStatus"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "replicationStatus": {
+ "aggregatedState": "Completed",
+ "summary": [
+ {
+ "region": "West US",
+ "state": "Completed",
+ "details": "",
+ "progress": 100
+ },
+ {
+ "region": "East US",
+ "state": "Completed",
+ "details": "",
+ "progress": 100
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json
new file mode 100644
index 000000000000..a0184d882337
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithSnapshotsAsSource.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "osDiskImage": {
+ "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{snapshotName}",
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "source": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/snapshots/{diskSnapshotName}",
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json
new file mode 100644
index 000000000000..d92d3c77540d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryImageVersionWithVhdAsSource.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Storage/storageAccounts/{storageAccount}",
+ "uri": "https://gallerysourcencus.blob.core.windows.net/myvhds/Windows-Server-2012-R2-20171216-en.us-128GB.vhd"
+ }
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json
new file mode 100644
index 000000000000..b58ca89c0bc1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetAGalleryWithSelectPermissions.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "$select": "Permissions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sharingProfile": {
+ "permissions": "Groups",
+ "groups": [
+ {
+ "type": "Subscriptions",
+ "ids": [
+ "34a4ab42-0d72-47d9-bd1a-aed207386dac",
+ "380fd389-260b-41aa-bad9-0a83108c370b"
+ ]
+ },
+ {
+ "type": "AADTenants",
+ "ids": [
+ "c24c76aa-8897-4027-9b03-8f7928b54ff6"
+ ]
+ }
+ ]
+ }
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json
new file mode 100644
index 000000000000..9615b8456462
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGallery.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "myLocation",
+ "name": "myGalleryName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json
new file mode 100644
index 000000000000..ab78ae46c4f0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImage.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json
new file mode 100644
index 000000000000..7e20e0f45d65
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/GetASharedGalleryImageVersion.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "myGalleryImageVersionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishedDate": "2018-03-20T09:12:28Z",
+ "endOfLifeDate": "2022-03-20T09:12:28Z"
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageVersionName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName/Versions/myGalleryImageVersionName"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json
new file mode 100644
index 000000000000..756c512dd1fe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInAResourceGroup.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json
new file mode 100644
index 000000000000..280325678dd3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleriesInASubscription.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-09-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryName",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/galleries?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json
new file mode 100644
index 000000000000..0899c17bfafe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationVersionsInAGalleryApplication.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName/versions/myGalleryApplicationVersionName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json
new file mode 100644
index 000000000000..d21b58c493ff
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryApplicationsInAGallery.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json
new file mode 100644
index 000000000000..499ad4e6366f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImageVersionsInAGalleryImage.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 0,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myOtherDiskEncryptionSet"
+ },
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images/myGalleryImageName/versions?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName/versions/myGalleryImageVersionName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json
new file mode 100644
index 000000000000..570fc0e39b6f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListGalleryImagesInAGallery.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/images?$skiptoken={token}/Subscriptions/{subscriptionId}/ResourceGroups/myResourceGroup/galleries/myGalleryName/images/myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json
new file mode 100644
index 000000000000..baebdfed7d93
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleries.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "myLocation",
+ "name": "galleryUniqueName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName"
+ }
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscriptionId}/providers/Microsoft.Compute/sharedGalleries?$skiptoken={token}/Subscriptions/{subscriptionId}/galleries/galleryUniqueName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json
new file mode 100644
index 000000000000..95baa0b1144f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImageVersions.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName",
+ "galleryImageName": "myGalleryImageName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "publishedDate": "2018-03-20T09:12:28Z",
+ "endOfLifeDate": "2022-03-20T09:12:28Z"
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageVersionName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName/Versions/myGalleryImageVersionName"
+ }
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscription-Id}/providers/Microsoft.Compute/sharedGalleries/galleryUniqueName/images/myGalleryImageName/versions?$skiptoken={token}/Subscriptions/{subscription-Id}/galleries/galleryUniqueName/images/myGalleryImageName/versions/myGalleryImageVersionName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json
new file mode 100644
index 000000000000..47a2b4ac926a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ListSharedGalleryImages.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "myLocation",
+ "api-version": "2020-09-30",
+ "galleryUniqueName": "galleryUniqueName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ },
+ "location": "myLocation",
+ "name": "myGalleryImageName",
+ "identifier": {
+ "uniqueId": "/SharedGalleries/galleryUniqueName/Images/myGalleryImageName"
+ }
+ }
+ ],
+ "nextLink": "http://svchost:99/subscriptions/{subscription-Id}/providers/Microsoft.Compute/sharedGalleries/galleryUniqueName/images?$skiptoken={token}/Subscriptions/{subscription-Id}/galleries/galleryUniqueName/images/myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json
new file mode 100644
index 000000000000..98c4a29b2a29
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/ResetSharingProfileInAGallery.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "sharingUpdate": {
+ "operationType": "Reset"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "operationType": "Reset"
+ }
+ },
+ "202": {
+ "body": {
+ "operationType": "Reset"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json
new file mode 100644
index 000000000000..d3618117f15c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGallery.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "gallery": {
+ "properties": {
+ "description": "This is the gallery description."
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery description.",
+ "identifier": {
+ "uniqueName": "{subscription-id}-MYGALLERYNAME"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json
new file mode 100644
index 000000000000..0bb889c29a26
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplication.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplication": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "This is the gallery application description.",
+ "eula": "This is the gallery application EULA.",
+ "privacyStatementUri": "myPrivacyStatementUri}",
+ "releaseNoteUri": "myReleaseNoteUri",
+ "supportedOSType": "Windows"
+ },
+ "location": "West US",
+ "name": "myGalleryApplicationName",
+ "type": "Microsoft.Compute/galleries",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/galleries/myGalleryName/applications/myGalleryApplicationName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json
new file mode 100644
index 000000000000..8d473b578024
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryApplicationVersion.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryApplicationName": "myGalleryApplicationName",
+ "galleryApplicationVersionName": "1.0.0",
+ "galleryApplicationVersion": {
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "endOfLifeDate": "2019-07-01T07:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "West US",
+ "name": "1.0.0",
+ "type": "Microsoft.Compute/galleries/applications/versions",
+ "id": "/subscriptions/01523d7c-60da-455e-adef-521b547922c4/resourceGroups/galleryPsTestRg98/providers/Microsoft.Compute/galleries/galleryPsTestGallery6165/applications/galleryPsTestGalleryApplication7825/versions/1.0.0",
+ "properties": {
+ "publishingProfile": {
+ "source": {
+ "fileName": "package.zip",
+ "mediaLink": "https://mystorageaccount.blob.core.windows.net/mycontainer/package.zip?{sasKey}"
+ },
+ "enableHealthCheck": false,
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "replicaCount": 1,
+ "excludeFromLatest": false,
+ "publishedDate": "2019-06-21T17:13:57.5972568+00:00",
+ "endOfLifeDate": "2019-07-01T07:00:00+00:00",
+ "storageAccountType": "Standard_LRS"
+ },
+ "provisioningState": "Updating"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json
new file mode 100644
index 000000000000..ebfd473f7e95
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImage.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImage": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "osState": "Generalized",
+ "hyperVGeneration": "V1",
+ "identifier": {
+ "publisher": "myPublisherName",
+ "offer": "myOfferName",
+ "sku": "mySkuName"
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "myGalleryImageName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json
new file mode 100644
index 000000000000..5cf4547abad1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/examples/UpdateASimpleGalleryImageVersion.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-30",
+ "galleryName": "myGalleryName",
+ "galleryImageName": "myGalleryImageName",
+ "galleryImageVersionName": "1.0.0",
+ "galleryImageVersion": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ]
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "publishingProfile": {
+ "targetRegions": [
+ {
+ "name": "West US",
+ "regionalReplicaCount": 1,
+ "storageAccountType": "Standard_LRS",
+ "encryption": {
+ "osDiskImage": {
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "diskEncryptionSetId": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSet/myDiskEncryptionSet"
+ }
+ ]
+ }
+ },
+ {
+ "name": "East US",
+ "regionalReplicaCount": 2,
+ "storageAccountType": "Standard_ZRS"
+ }
+ ],
+ "replicaCount": 1,
+ "publishedDate": "2018-01-01T00:00:00Z",
+ "storageAccountType": "Standard_LRS"
+ },
+ "storageProfile": {
+ "source": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Compute/images/{imageName}"
+ },
+ "osDiskImage": {
+ "sizeInGB": 10,
+ "hostCaching": "ReadOnly"
+ },
+ "dataDiskImages": [
+ {
+ "lun": 1,
+ "sizeInGB": 10,
+ "hostCaching": "None"
+ }
+ ]
+ },
+ "provisioningState": "Updating"
+ },
+ "location": "West US",
+ "name": "1.0.0"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json
new file mode 100644
index 000000000000..b5e64bcf9dde
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/gallery.json
@@ -0,0 +1,2846 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SharedImageGalleryServiceClient",
+ "description": "Shared Image Gallery Service Client.",
+ "version": "2020-09-30"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}": {
+ "put": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_CreateOrUpdate",
+ "description": "Create or update a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "gallery",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ },
+ "description": "Parameters supplied to the create or update Shared Image Gallery operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGallery.json"
+ },
+ "Create or update a simple gallery with sharing profile.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryWithSharingProfile.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Update",
+ "description": "Update a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery. The allowed characters are alphabets and numbers with dots and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "gallery",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryUpdate"
+ },
+ "description": "Parameters supplied to the update Shared Image Gallery operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery.": {
+ "$ref": "./examples/UpdateASimpleGallery.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Get",
+ "description": "Retrieves information about a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The select expression to apply on the operation.",
+ "enum": [
+ "Permissions"
+ ],
+ "x-ms-enum": {
+ "name": "Permissions",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Gallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/GetAGallery.json"
+ },
+ "Get a gallery with select permissions.": {
+ "$ref": "./examples/GetAGalleryWithSelectPermissions.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Galleries"
+ ],
+ "operationId": "Galleries_Delete",
+ "description": "Delete a Shared Image Gallery.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery 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.": {
+ "$ref": "./examples/DeleteAGallery.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}": {
+ "put": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_CreateOrUpdate",
+ "description": "Create or update a gallery image definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be created."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image 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": "galleryImage",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ },
+ "description": "Parameters supplied to the create or update gallery image operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create or update a simple gallery image.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImage.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Update",
+ "description": "Update a gallery image definition.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be updated."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition to be updated. The allowed characters are alphabets and numbers with dots, dashes, and periods allowed in the middle. The maximum length is 80 characters."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryImage",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GalleryImageUpdate"
+ },
+ "description": "Parameters supplied to the update gallery image operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a simple gallery image.": {
+ "$ref": "./examples/UpdateASimpleGalleryImage.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Get",
+ "description": "Retrieves information about 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 from which the Image Definitions are to be retrieved."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image definition to be retrieved."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery image.": {
+ "$ref": "./examples/GetAGalleryImage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "GalleryImages"
+ ],
+ "operationId": "GalleryImages_Delete",
+ "description": "Delete a gallery image.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "galleryName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Image Gallery in which the Image Definition is to be deleted."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image 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 image.": {
+ "$ref": "./examples/DeleteAGalleryImage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/galleries/{galleryName}/images/{galleryImageName}/versions/{galleryImageVersionName}": {
+ "put": {
+ "tags": [
+ "GalleryImageVersions"
+ ],
+ "operationId": "GalleryImageVersions_CreateOrUpdate",
+ "description": "Create or 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 created."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image 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": "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 (Managed Image as source).": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersion.json"
+ },
+ "Create or update a simple Gallery Image Version using snapshots as a source.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithSnapshotsAsSource.json"
+ },
+ "Create or update a simple Gallery Image Version using vhd as a source.": {
+ "$ref": "./examples/CreateOrUpdateASimpleGalleryImageVersionWithVHD.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/UpdateASimpleGalleryImageVersion.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/GetAGalleryImageVersion.json"
+ },
+ "Get a gallery image version with replication status.": {
+ "$ref": "./examples/GetAGalleryImageVersionWithReplicationStatus.json"
+ },
+ "Get a gallery image version with snapshots as a source.": {
+ "$ref": "./examples/GetAGalleryImageVersionWithSnapshotsAsSource.json"
+ },
+ "Get a gallery image version with vhd as a source.": {
+ "$ref": "./examples/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/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/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/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/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/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/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/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/GetAGalleryApplicationVersion.json"
+ },
+ "Get a gallery Application Version with replication status.": {
+ "$ref": "./examples/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/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/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/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/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/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/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/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/AddToSharingProfileInAGallery.json"
+ },
+ "reset sharing profile of a gallery.": {
+ "$ref": "./examples/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"
+ }
+ },
+ "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"
+ },
+ "description": "A list of sharing profile groups."
+ }
+ }
+ },
+ "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**",
+ "enum": [
+ "Subscriptions",
+ "AADTenants"
+ ],
+ "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."
+ }
+ }
+ },
+ "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"
+ },
+ "contentType": {
+ "type": "string",
+ "description": "Optional. May be used to help process this file. The type of file contained in the source, e.g. zip, json, etc."
+ },
+ "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": {
+ "fileName": {
+ "type": "string",
+ "description": "Required. The fileName of the artifact."
+ },
+ "mediaLink": {
+ "type": "string",
+ "description": "Required. The mediaLink of the artifact, must be a readable storage blob."
+ }
+ },
+ "required": [
+ "fileName",
+ "mediaLink"
+ ],
+ "description": "The source image from which the Image Version is going to be created."
+ },
+ "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
+ }
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryImageFeature"
+ },
+ "description": "A list of gallery image features."
+ },
+ "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"
+ ]
+ }
+ },
+ "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"
+ },
+ "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
+ }
+ }
+ },
+ "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."
+ },
+ "EncryptionImages": {
+ "properties": {
+ "osDiskImage": {
+ "$ref": "#/definitions/OSDiskImageEncryption"
+ },
+ "dataDiskImages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDiskImageEncryption"
+ },
+ "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": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/DiskImageEncryption"
+ }
+ ],
+ "description": "Contains encryption settings 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"
+ },
+ "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"
+ },
+ "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"
+ },
+ "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"
+ ],
+ "x-ms-enum": {
+ "name": "SharingUpdateOperationTypes",
+ "modelAsString": true
+ }
+ },
+ "groups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharingProfileGroup"
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json
new file mode 100644
index 000000000000..c3d8a76c77d1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/preview/2020-09-30/sharedGallery.json
@@ -0,0 +1,786 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "SharedGalleryServiceClient",
+ "description": "Shared Gallery Service Client.",
+ "version": "2020-09-30"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries": {
+ "get": {
+ "tags": [
+ "SharedGalleries"
+ ],
+ "operationId": "SharedGalleries_List",
+ "description": "List shared galleries by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "sharedTo",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.",
+ "enum": [
+ "tenant"
+ ],
+ "x-ms-enum": {
+ "name": "SharedToValues",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/ListSharedGalleries.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images": {
+ "get": {
+ "tags": [
+ "SharedGalleryImages"
+ ],
+ "operationId": "SharedGalleryImages_List",
+ "description": "List shared gallery images by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "name": "sharedTo",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.",
+ "enum": [
+ "tenant"
+ ],
+ "x-ms-enum": {
+ "name": "SharedToValues",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryImageList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/ListSharedGalleryImages.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}/versions": {
+ "get": {
+ "tags": [
+ "SharedGalleryImageVersions"
+ ],
+ "operationId": "SharedGalleryImageVersions_List",
+ "description": "List shared gallery image versions by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed."
+ },
+ {
+ "name": "sharedTo",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The query parameter to decide what shared galleries to fetch when doing listing operations.",
+ "enum": [
+ "tenant"
+ ],
+ "x-ms-enum": {
+ "name": "SharedToValues",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryImageVersionList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/ListSharedGalleryImageVersions.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}": {
+ "get": {
+ "tags": [
+ "SharedGalleries"
+ ],
+ "operationId": "SharedGalleries_Get",
+ "description": "Get a shared gallery by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGallery"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/GetASharedGallery.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}": {
+ "get": {
+ "tags": [
+ "SharedGalleryImages"
+ ],
+ "operationId": "SharedGalleryImages_Get",
+ "description": "Get a shared gallery image by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryImage"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/GetASharedGalleryImage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/sharedGalleries/{galleryUniqueName}/images/{galleryImageName}/versions/{galleryImageVersionName}": {
+ "get": {
+ "tags": [
+ "SharedGalleryImageVersions"
+ ],
+ "operationId": "SharedGalleryImageVersions_Get",
+ "description": "Get a shared gallery image version by subscription id or tenant id.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationNameParamter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "galleryUniqueName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The unique name of the Shared Gallery."
+ },
+ {
+ "name": "galleryImageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Shared Gallery Image Definition from which the Image Versions are to be listed."
+ },
+ {
+ "name": "galleryImageVersionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the gallery image 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: .."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SharedGalleryImageVersion"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a gallery.": {
+ "$ref": "./examples/GetASharedGalleryImageVersion.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PirResource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ }
+ }
+ },
+ "PirSharedGalleryResource": {
+ "properties": {
+ "identifier": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SharedGalleryIdentifier"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirResource"
+ }
+ ],
+ "description": "Base information about the shared gallery resource in pir."
+ },
+ "SharedGalleryIdentifier": {
+ "properties": {
+ "uniqueId": {
+ "type": "string",
+ "description": "The unique id of this shared gallery."
+ }
+ },
+ "description": "The identifier information of shared gallery."
+ },
+ "SharedGalleryList": {
+ "description": "The List Shared Galleries operation response.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedGallery"
+ },
+ "description": "A list of shared galleries."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of shared galleries. Call ListNext() with this to fetch the next page of shared galleries."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "SharedGallery": {
+ "properties": {},
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirSharedGalleryResource"
+ }
+ ],
+ "description": "Specifies information about the Shared Gallery that you want to create or update."
+ },
+ "SharedGalleryImageList": {
+ "description": "The List Shared Gallery Images operation response.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedGalleryImage"
+ },
+ "description": "A list of shared gallery images."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of shared gallery images. Call ListNext() with this to fetch the next page of shared gallery images."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "SharedGalleryImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SharedGalleryImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirSharedGalleryResource"
+ }
+ ],
+ "description": "Specifies information about the gallery image definition that you want to create or update."
+ },
+ "SharedGalleryImageProperties": {
+ "properties": {
+ "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
+ }
+ },
+ "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"
+ },
+ "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": false
+ }
+ },
+ "features": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GalleryImageFeature"
+ },
+ "description": "A list of gallery image features."
+ },
+ "purchasePlan": {
+ "$ref": "#/definitions/ImagePurchasePlan"
+ }
+ },
+ "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."
+ },
+ "SharedGalleryImageVersionList": {
+ "description": "The List Shared Gallery Image versions operation response.",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedGalleryImageVersion"
+ },
+ "description": "A list of shared gallery images versions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of shared gallery image versions. Call ListNext() with this to fetch the next page of shared gallery image versions."
+ }
+ },
+ "required": [
+ "value"
+ ]
+ },
+ "SharedGalleryImageVersion": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SharedGalleryImageVersionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PirSharedGalleryResource"
+ }
+ ],
+ "description": "Specifies information about the gallery image version that you want to create or update."
+ },
+ "SharedGalleryImageVersionProperties": {
+ "properties": {
+ "publishedDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The published date of the gallery image version Definition. This property can be used for decommissioning purposes. This property is updatable."
+ },
+ "endOfLifeDate": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The end of life date of the gallery image version Definition. This property can be used for decommissioning purposes. This property is updatable."
+ }
+ },
+ "description": "Describes the properties of a gallery image version."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "LocationNameParamter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Resource location."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json
index ad40111669f1..6f0081100c90 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2019-07-01/gallery.json
@@ -2542,21 +2542,6 @@
"UpdateResource": {
"description": "The Update Resource model definition.",
"properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "Resource Id"
- },
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "Resource name"
- },
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "Resource type"
- },
"tags": {
"type": "object",
"additionalProperties": {
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/disk.json
index 8871f4d6f77e..7aecfefdf14d 100644
--- a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/disk.json
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-05-01/disk.json
@@ -1849,7 +1849,7 @@
"values": [
{
"value": "EncryptionAtRestWithPlatformKey",
- "description": "Disk is encrypted at rest with Platform managed key. It is the default encryption type."
+ "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",
@@ -2002,6 +2002,9 @@
},
"DiskEncryptionSetUpdateProperties": {
"properties": {
+ "encryptionType": {
+ "$ref": "#/definitions/EncryptionType"
+ },
"activeKey": {
"$ref": "#/definitions/KeyVaultAndKeyReference"
}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
new file mode 100644
index 000000000000..817f4c62ac26
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/compute.json
@@ -0,0 +1,11756 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ComputeManagementClient",
+ "description": "The Compute Management Client.",
+ "version": "2020-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": {
+ "/providers/Microsoft.Compute/operations": {
+ "get": {
+ "tags": [
+ "ComputeOperations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ComputeOperationListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}": {
+ "put": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_CreateOrUpdate",
+ "description": "Create or update an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ },
+ "description": "Parameters supplied to the Create Availability Set operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an availability set.": {
+ "$ref": "./examples/CreateAnAvailabilitySet.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_Update",
+ "description": "Update an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySetUpdate"
+ },
+ "description": "Parameters supplied to the Update Availability Set operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_Delete",
+ "description": "Delete an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_Get",
+ "description": "Retrieves information about an availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySet"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/availabilitySets": {
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_ListBySubscription",
+ "description": "Lists all availability sets in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List availability sets in a subscription.": {
+ "$ref": "./examples/ListAvailabilitySetsInASubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets": {
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_List",
+ "description": "Lists all availability sets in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AvailabilitySetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}/vmSizes": {
+ "get": {
+ "tags": [
+ "AvailabilitySets"
+ ],
+ "operationId": "AvailabilitySets_ListAvailableSizes",
+ "description": "Lists all available virtual machine sizes that can be used to create a new virtual machine in an existing availability set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "availabilitySetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the availability set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineSizeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups/{proximityPlacementGroupName}": {
+ "put": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_CreateOrUpdate",
+ "description": "Create or update a proximity placement group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ },
+ "description": "Parameters supplied to the Create Proximity Placement Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a proximity placement group.": {
+ "$ref": "./examples/CreateOrUpdateAProximityPlacementGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_Update",
+ "description": "Update a proximity placement group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroupUpdate"
+ },
+ "description": "Parameters supplied to the Update Proximity Placement Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/PatchAProximityPlacementGroup.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_Delete",
+ "description": "Delete a proximity placement group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/DeleteAProximityPlacementGroup.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_Get",
+ "description": "Retrieves information about a proximity placement group .",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "proximityPlacementGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the proximity placement group."
+ },
+ {
+ "name": "includeColocationStatus",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "includeColocationStatus=true enables fetching the colocation status of all the resources in the proximity placement group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/GetAProximityPlacementGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/proximityPlacementGroups": {
+ "get": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_ListBySubscription",
+ "description": "Lists all proximity placement groups in a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/ListProximityPlacementGroupsInASubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/proximityPlacementGroups": {
+ "get": {
+ "tags": [
+ "ProximityPlacementGroups"
+ ],
+ "operationId": "ProximityPlacementGroups_ListByResourceGroup",
+ "description": "Lists all proximity placement groups in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ProximityPlacementGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Create a proximity placement group.": {
+ "$ref": "./examples/ListProximityPlacementGroupsInAResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}": {
+ "put": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_CreateOrUpdate",
+ "description": "Create or update a dedicated host group. For details of Dedicated Host and Dedicated Host Groups please see [Dedicated Host Documentation] (https://go.microsoft.com/fwlink/?linkid=2082596)",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ },
+ "description": "Parameters supplied to the Create Dedicated Host Group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a dedicated host group.": {
+ "$ref": "./examples/CreateOrUpdateADedicatedHostGroup.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_Update",
+ "description": "Update an dedicated host group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroupUpdate"
+ },
+ "description": "Parameters supplied to the Update Dedicated Host Group operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_Delete",
+ "description": "Delete a dedicated host group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_Get",
+ "description": "Retrieves information about a dedicated host group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation. The response shows the list of instance view of the dedicated hosts under the dedicated host group.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a dedicated host group.": {
+ "$ref": "./examples/GetADedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups": {
+ "get": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_ListByResourceGroup",
+ "description": "Lists all of the dedicated host groups in the specified resource group. Use the nextLink property in the response to get the next page of dedicated host groups.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/hostGroups": {
+ "get": {
+ "tags": [
+ "DedicatedHostGroups"
+ ],
+ "operationId": "DedicatedHostGroups_ListBySubscription",
+ "description": "Lists all of the dedicated host groups in the subscription. Use the nextLink property in the response to get the next page of dedicated host groups.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts/{hostName}": {
+ "put": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_CreateOrUpdate",
+ "description": "Create or update a dedicated host .",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host ."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ },
+ "description": "Parameters supplied to the Create Dedicated Host."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update a dedicated host .": {
+ "$ref": "./examples/CreateOrUpdateADedicatedHost.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_Update",
+ "description": "Update an dedicated host .",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host ."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostUpdate"
+ },
+ "description": "Parameters supplied to the Update Dedicated Host operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_Delete",
+ "description": "Delete a dedicated host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DedicatedHosts"
+ ],
+ "operationId": "DedicatedHosts_Get",
+ "description": "Retrieves information about a dedicated host.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "name": "hostName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHost"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a dedicated host.": {
+ "$ref": "./examples/GetADedicatedHost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/hostGroups/{hostGroupName}/hosts": {
+ "get": {
+ "tags": [
+ "DedicatedHost"
+ ],
+ "operationId": "DedicatedHosts_ListByHostGroup",
+ "description": "Lists all of the dedicated hosts in the specified dedicated host group. Use the nextLink property in the response to get the next page of dedicated hosts.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "hostGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the dedicated host group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DedicatedHostListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/sshPublicKeys": {
+ "get": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_ListBySubscription",
+ "description": "Lists all of the SSH public keys in the subscription. Use the nextLink property in the response to get the next page of SSH public keys.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeysGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys": {
+ "get": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_ListByResourceGroup",
+ "description": "Lists all of the SSH public keys in the specified resource group. Use the nextLink property in the response to get the next page of SSH public keys.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeysGroupListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{sshPublicKeyName}": {
+ "put": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_Create",
+ "description": "Creates a new SSH public key resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ },
+ "description": "Parameters supplied to create the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a new SSH public key resource.": {
+ "$ref": "./examples/CreateAnSshPublicKey.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_Update",
+ "description": "Updates a new SSH public key resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyUpdateResource"
+ },
+ "description": "Parameters supplied to update the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_Delete",
+ "description": "Delete an SSH public key.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_Get",
+ "description": "Retrieves information about an SSH public key.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get an ssh public key.": {
+ "$ref": "./examples/GetAnSshPublicKey.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{sshPublicKeyName}/generateKeyPair": {
+ "post": {
+ "tags": [
+ "SshPublicKeys"
+ ],
+ "operationId": "SshPublicKeys_GenerateKeyPair",
+ "description": "Generates and returns a public/private key pair and populates the SSH public key resource with the public key. The length of the key will be 3072 bits. This operation can only be performed once per SSH public key resource.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "sshPublicKeyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the SSH public key."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SshPublicKeyGenerateKeyPairResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Generate an SSH key pair.": {
+ "$ref": "./examples/GenerateSshKeyPair.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions/{version}": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensionImages"
+ ],
+ "operationId": "VirtualMachineExtensionImages_Get",
+ "description": "Gets a virtual machine extension image.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionImage"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensionImages"
+ ],
+ "operationId": "VirtualMachineExtensionImages_ListTypes",
+ "description": "Gets a list of virtual machine extension image types.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionImage"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmextension/types/{type}/versions": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensionImages"
+ ],
+ "operationId": "VirtualMachineExtensionImages_ListVersions",
+ "description": "Gets a list of virtual machine extension image versions.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "type",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply on the operation."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionImage"
+ }
+ }
+ }
+ },
+ "x-ms-odata": "#/definitions/VirtualMachineExtensionImage"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions/{vmExtensionName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the extension should be created or updated."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_Update",
+ "description": "The operation to update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the extension should be updated."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine where the extension should be deleted."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine containing the extension."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/extensions": {
+ "get": {
+ "tags": [
+ "VirtualMachineExtensions"
+ ],
+ "operationId": "VirtualMachineExtensions_List",
+ "description": "The operation to get all extensions of a Virtual Machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine containing the extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionsListResult"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions/{version}": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_Get",
+ "description": "Gets a virtual machine image.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "name": "skus",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU."
+ },
+ {
+ "name": "version",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU version."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineImage"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus/{skus}/versions": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_List",
+ "description": "Gets a list of all virtual machine image versions for the specified location, publisher, offer, and SKU.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "name": "skus",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image SKU."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "name": "$top",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_ListOffers",
+ "description": "Gets a list of virtual machine image offers for the specified location and publisher.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_ListPublishers",
+ "description": "Gets a list of virtual machine image publishers for the specified Azure location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/publishers/{publisherName}/artifacttypes/vmimage/offers/{offer}/skus": {
+ "get": {
+ "tags": [
+ "VirtualMachineImages"
+ ],
+ "operationId": "VirtualMachineImages_ListSkus",
+ "description": "Gets a list of virtual machine image SKUs for the specified location, publisher, and offer.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of a supported Azure region."
+ },
+ {
+ "name": "publisherName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher."
+ },
+ {
+ "name": "offer",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "A valid image publisher offer."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/usages": {
+ "get": {
+ "tags": [
+ "Usage"
+ ],
+ "operationId": "Usage_List",
+ "description": "Gets, for the specified location, the current compute resource usage information as well as the limits for compute resources under the subscription.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which resource usage is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ListUsagesResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListByLocation",
+ "description": "Gets all the virtual machines under the specified subscription for the specified location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location for which virtual machines under the subscription are queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Lists all the virtual machines under the specified subscription for the specified location.": {
+ "$ref": "./examples/ListVirtualMachinesInASubscriptionByLocation.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/vmSizes": {
+ "get": {
+ "tags": [
+ "VirtualMachineSizes"
+ ],
+ "operationId": "VirtualMachineSizes_List",
+ "description": "This API is deprecated. Use [Resources Skus](https://docs.microsoft.com/en-us/rest/api/compute/resourceskus/list)",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineSizeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images/{imageName}": {
+ "put": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_CreateOrUpdate",
+ "description": "Create or update an image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Image"
+ },
+ "description": "Parameters supplied to the Create Image operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a virtual machine image from a blob.": {
+ "$ref": "./examples/CreateAnImageFromABlob.json"
+ },
+ "Create a virtual machine image from a snapshot.": {
+ "$ref": "./examples/CreateAnImageFromASnapshot.json"
+ },
+ "Create a virtual machine image from a managed disk.": {
+ "$ref": "./examples/CreateAnImageFromAManagedDisk.json"
+ },
+ "Create a virtual machine image from an existing virtual machine.": {
+ "$ref": "./examples/CreateAnImageFromAVM.json"
+ },
+ "Create a virtual machine image that includes a data disk from a blob.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromABlob.json"
+ },
+ "Create a virtual machine image that includes a data disk from a snapshot.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json"
+ },
+ "Create a virtual machine image that includes a data disk from a managed disk.": {
+ "$ref": "./examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json"
+ },
+ "Create a virtual machine image from a blob with DiskEncryptionSet resource.": {
+ "$ref": "./examples/CreateAnImageFromABlobWithDiskEncryptionSet.json"
+ },
+ "Create a virtual machine image from a snapshot with DiskEncryptionSet resource.": {
+ "$ref": "./examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json"
+ },
+ "Create a virtual machine image from a managed disk with DiskEncryptionSet resource.": {
+ "$ref": "./examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_Update",
+ "description": "Update an image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ImageUpdate"
+ },
+ "description": "Parameters supplied to the Update Image operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Updates tags of an Image.": {
+ "$ref": "./examples/UpdateImage.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_Delete",
+ "description": "Deletes an Image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_Get",
+ "description": "Gets an image.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "imageName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the image."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Image"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a virtual machine image.": {
+ "$ref": "./examples/GetInformationAboutAnImage.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/images": {
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_ListByResourceGroup",
+ "description": "Gets the list of images under a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual machine images in a resource group.": {
+ "$ref": "./examples/ListImagesInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/images": {
+ "get": {
+ "tags": [
+ "Images"
+ ],
+ "operationId": "Images_List",
+ "description": "Gets the list of Images in the subscription. Use nextLink property in the response to get the next page of Images. Do this till nextLink is null to fetch all the Images.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ImageListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all virtual machine images in a subscription.": {
+ "$ref": "./examples/ListImagesInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/capture": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Capture",
+ "description": "Captures the VM by copying virtual hard disks of the VM and outputs a template that can be used to create similar VMs.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineCaptureParameters"
+ },
+ "description": "Parameters supplied to the Capture Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineCaptureResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}": {
+ "put": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_CreateOrUpdate",
+ "description": "The operation to create or update a virtual machine. Please note some properties can be set only during virtual machine creation.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a vm with password authentication.": {
+ "$ref": "./examples/CreateAVmWithPasswordAuthentication.json"
+ },
+ "Create a vm with ssh authentication.": {
+ "$ref": "./examples/CreateAVmWithSshAuthentication.json"
+ },
+ "Create a vm with premium storage.": {
+ "$ref": "./examples/CreateAVmWithPremiumStorage.json"
+ },
+ "Create a vm in an availability set.": {
+ "$ref": "./examples/CreateAVmInAnAvailabilitySet.json"
+ },
+ "Create a vm with boot diagnostics.": {
+ "$ref": "./examples/CreateAVmWithBootDiagnostics.json"
+ },
+ "Create a vm with managed boot diagnostics.": {
+ "$ref": "./examples/CreateAVmWithManagedBootDiagnostics.json"
+ },
+ "Create a vm with empty data disks.": {
+ "$ref": "./examples/CreateAVmWithEmptyDataDisks.json"
+ },
+ "Create a vm with a marketplace image plan.": {
+ "$ref": "./examples/CreateAVmWithAMarketplaceImagePlan.json"
+ },
+ "Create a vm from a custom image.": {
+ "$ref": "./examples/CreateAVmFromACustomImage.json"
+ },
+ "Create a platform-image vm with unmanaged os and data disks.": {
+ "$ref": "./examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json"
+ },
+ "Create a custom-image vm from an unmanaged generalized os image.": {
+ "$ref": "./examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json"
+ },
+ "Create a vm with ephemeral os disk.": {
+ "$ref": "./examples/CreateAVmWithADiffOsDisk.json"
+ },
+ "Create a vm with DiskEncryptionSet resource id in the os disk and data disk.": {
+ "$ref": "./examples/CreateAVmWithDiskEncryptionSetResource.json"
+ },
+ "Create a vm with ephemeral os disk provisioning in Resource disk using placement property.": {
+ "$ref": "./examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json"
+ },
+ "Create a vm with ephemeral os disk provisioning in Cache disk using placement property.": {
+ "$ref": "./examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json"
+ },
+ "Create a vm with Host Encryption using encryptionAtHost property.": {
+ "$ref": "./examples/CreateAVmWithEncryptionAtHost.json"
+ },
+ "Create a vm with a patch setting patchMode of AutomaticByOS.": {
+ "$ref": "./examples/CreateAVmWithPatchSettingModeOfAutomaticByOS.json"
+ },
+ "Create a vm with a patch setting patchMode of AutomaticByPlatform.": {
+ "$ref": "./examples/CreateAVmWithPatchSettingModeOfAutomaticByPlatform.json"
+ },
+ "Create a vm with a patch setting patchMode of Manual.": {
+ "$ref": "./examples/CreateAVmWithPatchSettingModeOfManual.json"
+ },
+ "Create a vm with an extensions time budget.": {
+ "$ref": "./examples/CreateAVmWithExtensionsTimeBudget.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Update",
+ "description": "The operation to update a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a VM by detaching data disk": {
+ "$ref": "./examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Delete",
+ "description": "The operation to delete a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Get",
+ "description": "Retrieves information about the model view or the instance view of a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachine"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a Virtual Machine.": {
+ "$ref": "./examples/GetVirtualMachine.json"
+ },
+ "Get a virtual machine placed on a dedicated host group through automatic placement": {
+ "$ref": "./examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/instanceView": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_InstanceView",
+ "description": "Retrieves information about the run-time state of a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineInstanceView"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Virtual Machine Instance View.": {
+ "$ref": "./examples/GetVirtualMachineInstanceView.json"
+ },
+ "Get instance view of a virtual machine placed on a dedicated host group through automatic placement.": {
+ "$ref": "./examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/convertToManagedDisks": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ConvertToManagedDisks",
+ "description": "Converts virtual machine disks from blob-based to managed disks. Virtual machine must be stop-deallocated before invoking this operation.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/deallocate": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Deallocate",
+ "description": "Shuts down the virtual machine and releases the compute resources. You are not billed for the compute resources that this virtual machine uses.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/generalize": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Generalize",
+ "description": "Sets the OS state of the virtual machine to generalized. It is recommended to sysprep the virtual machine before performing this operation.
For Windows, please refer to [Create a managed image of a generalized VM in Azure](https://docs.microsoft.com/en-us/azure/virtual-machines/windows/capture-image-resource).
For Linux, please refer to [How to create an image of a virtual machine or VHD](https://docs.microsoft.com/en-us/azure/virtual-machines/linux/capture-image).",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ },
+ "x-ms-examples": {
+ "Generalize a Virtual Machine.": {
+ "$ref": "./examples/GeneralizeVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_List",
+ "description": "Lists all of the virtual machines in the specified resource group. Use the nextLink property in the response to get the next page of virtual machines.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListAll",
+ "description": "Lists all of the virtual machines in the specified subscription. Use the nextLink property in the response to get the next page of virtual machines.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "statusOnly",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "statusOnly=true enables fetching run time status of all Virtual Machines in the subscription."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/vmSizes": {
+ "get": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_ListAvailableSizes",
+ "description": "Lists all available virtual machine sizes to which the specified virtual machine can be resized.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineSizeListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "Lists all available virtual machine sizes to which the specified virtual machine can be resized": {
+ "$ref": "./examples/ListAvailableVmSizes_VirtualMachines.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/powerOff": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_PowerOff",
+ "description": "The operation to power off (stop) a virtual machine. The virtual machine can be restarted with the same provisioned resources. You are still charged for this virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "skipShutdown",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reapply": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Reapply",
+ "description": "The operation to reapply a virtual machine's state.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reapply the state of a virtual machine.": {
+ "$ref": "./examples/ReapplyVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Restart",
+ "description": "The operation to restart a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Start",
+ "description": "The operation to start a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/redeploy": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Redeploy",
+ "description": "Shuts down the virtual machine, moves it to a new node, and powers it back on.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/reimage": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_Reimage",
+ "description": "Reimages the virtual machine which has an ephemeral OS disk back to its initial state.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineReimageParameters"
+ },
+ "description": "Parameters supplied to the Reimage Virtual Machine operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reimage a Virtual Machine.": {
+ "$ref": "./examples/ReimageVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/retrieveBootDiagnosticsData": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_RetrieveBootDiagnosticsData",
+ "description": "The operation to retrieve SAS URIs for a virtual machine's boot diagnostic logs.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "sasUriExpirationTimeInMinutes",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.
NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "RetrieveBootDiagnosticsData of a virtual machine.": {
+ "$ref": "./examples/RetrieveBootDiagnosticsDataVirtualMachine.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/performMaintenance": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_PerformMaintenance",
+ "description": "The operation to perform maintenance on a virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_SimulateEviction",
+ "description": "The operation to simulate the eviction of spot virtual machine.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Simulate Eviction a virtual machine.": {
+ "$ref": "./examples/SimulateEvictionOfVM.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/assessPatches": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_AssessPatches",
+ "x-ms-examples": {
+ "Assess patch state of a virtual machine.": {
+ "$ref": "./examples/VirtualMachineAssessPatches.json"
+ }
+ },
+ "description": "Assess patches on the VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineAssessPatchesResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_CreateOrUpdate",
+ "description": "Create or update a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
+ "description": "The scale set object."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create a scale set with password authentication.": {
+ "$ref": "./examples/CreateAScaleSetWithPasswordAuthentication.json"
+ },
+ "Create a scale set with ssh authentication.": {
+ "$ref": "./examples/CreateAScaleSetWithSshAuthentication.json"
+ },
+ "Create a scale set with premium storage.": {
+ "$ref": "./examples/CreateAScaleSetWithPremiumStorage.json"
+ },
+ "Create a scale set with empty data disks on each vm.": {
+ "$ref": "./examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json"
+ },
+ "Create a scale set with an azure load balancer.": {
+ "$ref": "./examples/CreateAScaleSetWithAnAzureLoadBalancer.json"
+ },
+ "Create a scale set with an azure application gateway.": {
+ "$ref": "./examples/CreateAScaleSetWithAnAzureApplicationGateway.json"
+ },
+ "Create a scale set with boot diagnostics.": {
+ "$ref": "./examples/CreateAScaleSetWithBootDiagnostics.json"
+ },
+ "Create a scale set with managed boot diagnostics.": {
+ "$ref": "./examples/CreateAScaleSetWithManagedBootDiagnostics.json"
+ },
+ "Create a scale set with a marketplace image plan.": {
+ "$ref": "./examples/CreateAScaleSetWithAMarketplaceImagePlan.json"
+ },
+ "Create a scale set from a custom image.": {
+ "$ref": "./examples/CreateAScaleSetFromACustomImage.json"
+ },
+ "Create a platform-image scale set with unmanaged os disks.": {
+ "$ref": "./examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json"
+ },
+ "Create a custom-image scale set from an unmanaged generalized os image.": {
+ "$ref": "./examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json"
+ },
+ "Create a scale set with virtual machines in different zones.": {
+ "$ref": "./examples/CreateAScaleSetWithVMsInDifferentZones.json"
+ },
+ "Create a scale set with ephemeral os disks.": {
+ "$ref": "./examples/CreateAScaleSetWithDiffOsDisk.json"
+ },
+ "Create a scale set with terminate scheduled events enabled.": {
+ "$ref": "./examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json"
+ },
+ "Create a scale set with automatic repairs enabled": {
+ "$ref": "./examples/CreateAScaleSetWithAutomaticRepairs.json"
+ },
+ "Create a scale set with DiskEncryptionSet resource in os disk and data disk.": {
+ "$ref": "./examples/CreateAScalesetWithDiskEncryptionSetResource.json"
+ },
+ "Create a scale set with ephemeral os disks using placement property.": {
+ "$ref": "./examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json"
+ },
+ "Create a scale set with extension time budget.": {
+ "$ref": "./examples/CreateAScaleSetWithExtensionsTimeBudget.json"
+ },
+ "Create a scale set with Host Encryption using encryptionAtHost property.": {
+ "$ref": "./examples/CreateAScaleSetWithEncryptionAtHost.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Update",
+ "description": "Update a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdate"
+ },
+ "description": "The scale set object."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Delete",
+ "description": "Deletes a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Get",
+ "description": "Display information about a virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get a virtual machine scale set placed on a dedicated host group through automatic placement.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/deallocate": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Deallocate",
+ "description": "Deallocates specific virtual machines in a VM scale set. Shuts down the virtual machines and releases the compute resources. You are not billed for the compute resources that this virtual machine scale set deallocates.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/delete": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_DeleteInstances",
+ "description": "Deletes virtual machines in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/instanceView": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_GetInstanceView",
+ "description": "Gets the status of a VM scale set instance.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetInstanceView"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_List",
+ "description": "Gets a list of all VM scale sets under a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions/{vmssExtensionName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_CreateOrUpdate",
+ "description": "The operation to create or update an extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be create or updated."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ },
+ "description": "Parameters supplied to the Create VM scale set Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_Update",
+ "description": "The operation to update an extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be updated."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update VM scale set Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be deleted."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set containing the extension."
+ },
+ {
+ "name": "vmssExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensions": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetExtensions_List",
+ "description": "Gets a list of all extensions in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set containing the extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/virtualMachineScaleSets": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ListAll",
+ "description": "Gets a list of all VM Scale Sets in the subscription, regardless of the associated resource group. Use nextLink property in the response to get the next page of VM Scale Sets. Do this till nextLink is null to fetch all the VM Scale Sets.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListWithLinkResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/skus": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ListSkus",
+ "description": "Gets a list of SKUs available for your VM scale set, including the minimum and maximum VM instances allowed for each SKU.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListSkusResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osUpgradeHistory": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_GetOSUpgradeHistory",
+ "description": "Gets list of OS upgrades on a VM scale set instance.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetListOSUpgradeHistory"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/poweroff": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_PowerOff",
+ "description": "Power off (stop) one or more virtual machines in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "name": "skipShutdown",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Restart",
+ "description": "Restarts one or more virtual machines in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Start",
+ "description": "Starts one or more virtual machines in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/redeploy": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Redeploy",
+ "description": "Shuts down all the virtual machines in the virtual machine scale set, moves them to a new node, and powers them back on.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/performMaintenance": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_PerformMaintenance",
+ "description": "Perform maintenance on one or more virtual machines in a VM scale set. Operation on instances which are not eligible for perform maintenance will be failed. Please refer to best practices for more details: https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-maintenance-notifications",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/manualupgrade": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_UpdateInstances",
+ "description": "Upgrades one or more virtual machines to the latest SKU set in the VM scale set model.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceRequiredIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimage": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_Reimage",
+ "description": "Reimages (upgrade the operating system) one or more virtual machines in a VM scale set which don't have a ephemeral OS disk, for virtual machines who have a ephemeral OS disk the virtual machine is reset to initial state.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmScaleSetReimageInput",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetReimageParameters"
+ },
+ "description": "Parameters for Reimaging VM ScaleSet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/reimageall": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ReimageAll",
+ "description": "Reimages all the disks ( including data disks ) in the virtual machines in a VM scale set. This operation is only supported for managed disks.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "vmInstanceIDs",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceIDs"
+ },
+ "description": "A list of virtual machine instance IDs from the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/cancel": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_Cancel",
+ "description": "Cancels the current virtual machine scale set rolling upgrade.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/osRollingUpgrade": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_StartOSUpgrade",
+ "description": "Starts a rolling upgrade to move all virtual machine scale set instances to the latest available Platform Image OS version. Instances which are already running the latest available OS version are not affected.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/extensionRollingUpgrade": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_StartExtensionUpgrade",
+ "description": "Starts a rolling upgrade to move all extensions for all virtual machine scale set instances to the latest available extension version. Instances which are already running the latest extension versions are not affected.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Start an extension rolling upgrade.": {
+ "$ref": "./examples/VMScaleSetExtensionRollingUpgrade.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/rollingUpgrades/latest": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetRollingUpgrades"
+ ],
+ "operationId": "VirtualMachineScaleSetRollingUpgrades_GetLatest",
+ "description": "Gets the status of the latest virtual machine scale set rolling upgrade.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RollingUpgradeStatusInfo"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/forceRecoveryServiceFabricPlatformUpdateDomainWalk": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ForceRecoveryServiceFabricPlatformUpdateDomainWalk",
+ "description": "Manual platform update domain walk to update virtual machines in a service fabric virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "platformUpdateDomain",
+ "in": "query",
+ "required": true,
+ "type": "integer",
+ "description": "The platform update domain for which a manual recovery walk is requested"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RecoveryWalkResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/convertToSinglePlacementGroup": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_ConvertToSinglePlacementGroup",
+ "description": "Converts SinglePlacementGroup property to false for a existing virtual machine scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VMScaleSetConvertToSinglePlacementGroupInput"
+ },
+ "description": "The input object for ConvertToSinglePlacementGroup API."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/setOrchestrationServiceState": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSets"
+ ],
+ "operationId": "VirtualMachineScaleSets_SetOrchestrationServiceState",
+ "description": "Changes ServiceState property for a given service",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine scale set to create or update."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/OrchestrationServiceStateInput"
+ },
+ "description": "The input object for SetOrchestrationServiceState API."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions/{vmExtensionName}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "Parameters supplied to the Create Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_Update",
+ "description": "The operation to update the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/UpdateVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_Delete",
+ "description": "The operation to delete the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/DeleteVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_Get",
+ "description": "The operation to get the VMSS VM extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmExtensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get VirtualMachineScaleSet VM extension.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/extensions": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMExtensions"
+ ],
+ "operationId": "VirtualMachineScaleSetVMExtensions_List",
+ "description": "The operation to get all extensions of an instance in Virtual Machine Scaleset.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineExtensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List extensions in Vmss instance.": {
+ "$ref": "./examples/ListVirtualMachineScaleSetVMExtensions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimage": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Reimage",
+ "description": "Reimages (upgrade the operating system) a specific virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "vmScaleSetVMReimageInput",
+ "in": "body",
+ "required": false,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters"
+ },
+ "description": "Parameters for the Reimaging Virtual machine in ScaleSet."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/reimageall": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_ReimageAll",
+ "description": "Allows you to re-image all the disks ( including data disks ) in the a VM scale set instance. This operation is only supported for managed disks.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/deallocate": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Deallocate",
+ "description": "Deallocates a specific virtual machine in a VM scale set. Shuts down the virtual machine and releases the compute resources it uses. You are not billed for the compute resources of this virtual machine once it is deallocated.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}": {
+ "put": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Update",
+ "description": "Updates a virtual machine of a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set where the extension should be create or updated."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ },
+ "description": "Parameters supplied to the Update Virtual Machine Scale Sets VM operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Delete",
+ "description": "Deletes a virtual machine from a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Get",
+ "description": "Gets a virtual machine from a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": false
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/instanceView": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_GetInstanceView",
+ "description": "Gets the status of a virtual machine from a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get instance view of a virtual machine from a VM scale set placed on a dedicated host group through automatic placement.": {
+ "$ref": "./examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{virtualMachineScaleSetName}/virtualMachines": {
+ "get": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_List",
+ "description": "Gets a list of all virtual machines in a VM scale sets.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "virtualMachineScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The filter to apply to the operation. Allowed values are 'startswith(instanceView/statuses/code, 'PowerState') eq true', 'properties/latestModelApplied eq true', 'properties/latestModelApplied eq false'."
+ },
+ {
+ "name": "$select",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The list parameters. Allowed values are 'instanceView', 'instanceView/statuses'."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply to the operation. Allowed values are 'instanceView'."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-odata": "#/definitions/VirtualMachineScaleSetVM"
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/poweroff": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_PowerOff",
+ "description": "Power off (stop) a virtual machine in a VM scale set. Note that resources are still attached and you are getting charged for the resources. Instead, use deallocate to release resources and avoid charges.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "skipShutdown",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "default": false,
+ "description": "The parameter to request non-graceful VM shutdown. True value for this flag indicates non-graceful shutdown whereas false indicates otherwise. Default value for this flag is false if not specified"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/restart": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Restart",
+ "description": "Restarts a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/start": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Start",
+ "description": "Starts a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/redeploy": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_Redeploy",
+ "description": "Shuts down the virtual machine in the virtual machine scale set, moves it to a new node, and powers it back on.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/retrieveBootDiagnosticsData": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_RetrieveBootDiagnosticsData",
+ "description": "The operation to retrieve SAS URIs of boot diagnostic logs for a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "sasUriExpirationTimeInMinutes",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32",
+ "description": "Expiration duration in minutes for the SAS URIs with a value between 1 to 1440 minutes.
NOTE: If not specified, SAS URIs will be generated with a default expiration duration of 120 minutes."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RetrieveBootDiagnosticsDataResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "RetrieveBootDiagnosticsData of a virtual machine.": {
+ "$ref": "./examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/performMaintenance": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_PerformMaintenance",
+ "description": "Performs maintenance on a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualMachines/{instanceId}/simulateEviction": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_SimulateEviction",
+ "description": "The operation to simulate the eviction of spot virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": false,
+ "x-ms-examples": {
+ "Simulate Eviction a virtual machine.": {
+ "$ref": "./examples/SimulateEvictionOfVmssVM.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getRequestRateByInterval": {
+ "post": {
+ "tags": [
+ "LogAnalytics"
+ ],
+ "operationId": "LogAnalytics_ExportRequestRateByInterval",
+ "x-ms-examples": {
+ "Export logs which contain all Api requests made to Compute Resource Provider within the given time period broken down by intervals.": {
+ "$ref": "./examples/LogAnalyticsRequestRateByInterval.json"
+ }
+ },
+ "description": "Export logs that show Api requests made by this subscription in the given time window to show throttling activities.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RequestRateByIntervalInput"
+ },
+ "description": "Parameters supplied to the LogAnalytics getRequestRateByInterval Api."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/logAnalytics/apiAccess/getThrottledRequests": {
+ "post": {
+ "tags": [
+ "LogAnalytics"
+ ],
+ "operationId": "LogAnalytics_ExportThrottledRequests",
+ "x-ms-examples": {
+ "Export logs which contain all throttled Api requests made to Compute Resource Provider within the given time period.": {
+ "$ref": "./examples/LogAnalyticsThrottledRequests.json"
+ }
+ },
+ "description": "Export logs that show total throttled Api requests for this subscription in the given time window.",
+ "parameters": [
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ThrottledRequestsInput"
+ },
+ "description": "Parameters supplied to the LogAnalytics getThrottledRequests Api."
+ },
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which virtual-machine-sizes is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/LogAnalyticsOperationResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ComputeOperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ComputeOperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "ComputeOperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ComputeOperationValueDisplay"
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "ComputeOperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "DisallowedConfiguration": {
+ "properties": {
+ "vmDiskType": {
+ "type": "string",
+ "description": "VM disk types which are disallowed.",
+ "enum": [
+ "None",
+ "Unmanaged"
+ ],
+ "x-ms-enum": {
+ "name": "VmDiskTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Specifies the disallowed configuration for a virtual machine image."
+ },
+ "RetrieveBootDiagnosticsDataResult": {
+ "properties": {
+ "consoleScreenshotBlobUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The console screenshot blob URI"
+ },
+ "serialConsoleLogBlobUri": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The serial console log blob URI."
+ }
+ },
+ "description": "The SAS URIs of the console screenshot and serial log blobs."
+ },
+ "HyperVGenerationType": {
+ "type": "string",
+ "description": "Specifies the HyperVGeneration Type",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGenerationTypes",
+ "modelAsString": true
+ }
+ },
+ "InstanceViewStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": false
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ },
+ "AvailabilitySetProperties": {
+ "properties": {
+ "platformUpdateDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Update Domain count."
+ },
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Fault Domain count."
+ },
+ "virtualMachines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "A list of references to all virtual machines in the availability set."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the availability set should be assigned to.
Minimum api-version: 2018-04-01."
+ },
+ "statuses": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a resource."
+ },
+ "AvailabilitySetSkuType": {
+ "type": "string",
+ "description": "Specifies the sku of an Availability Set. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'.",
+ "enum": [
+ "Classic",
+ "Aligned"
+ ],
+ "x-ms-enum": {
+ "name": "AvailabilitySetSkuTypes",
+ "modelAsString": true
+ }
+ },
+ "AvailabilitySet": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AvailabilitySetProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Sku of the availability set, only name is required to be set. See AvailabilitySetSkuTypes for possible set of values. Use 'Aligned' for virtual machines with managed disks and 'Classic' for virtual machines with unmanaged disks. Default value is 'Classic'."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set."
+ },
+ "AvailabilitySetUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AvailabilitySetProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "Sku of the availability set"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Only tags may be updated."
+ },
+ "AvailabilitySetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AvailabilitySet"
+ },
+ "description": "The list of availability sets"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of AvailabilitySets. Call ListNext() with this URI to fetch the next page of AvailabilitySets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Availability Set operation response."
+ },
+ "SubResourceWithColocationStatus": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "colocationStatus": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "Describes colocation status of a resource in the Proximity Placement Group."
+ }
+ }
+ },
+ "ProximityPlacementGroupProperties": {
+ "properties": {
+ "proximityPlacementGroupType": {
+ "type": "string",
+ "description": "Specifies the type of the proximity placement group.
Possible values are:
**Standard** : Co-locate resources within an Azure region or Availability Zone.
**Ultra** : For future use.",
+ "enum": [
+ "Standard",
+ "Ultra"
+ ],
+ "x-ms-enum": {
+ "name": "ProximityPlacementGroupType",
+ "modelAsString": true
+ }
+ },
+ "virtualMachines": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
+ },
+ "description": "A list of references to all virtual machines in the proximity placement group."
+ },
+ "virtualMachineScaleSets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
+ },
+ "description": "A list of references to all virtual machine scale sets in the proximity placement group."
+ },
+ "availabilitySets": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceWithColocationStatus"
+ },
+ "description": "A list of references to all availability sets in the proximity placement group."
+ },
+ "colocationStatus": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "Describes colocation status of the Proximity Placement Group."
+ }
+ },
+ "description": "Describes the properties of a Proximity Placement Group."
+ },
+ "ProximityPlacementGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ProximityPlacementGroupProperties",
+ "description": "Describes the properties of a Proximity Placement Group."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the proximity placement group."
+ },
+ "ProximityPlacementGroupUpdate": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the proximity placement group."
+ },
+ "ProximityPlacementGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProximityPlacementGroup"
+ },
+ "description": "The list of proximity placement groups"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of proximity placement groups."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Proximity Placement Group operation response."
+ },
+ "DedicatedHostGroupInstanceView": {
+ "properties": {
+ "hosts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHostInstanceViewWithName"
+ },
+ "description": "List of instance view of the dedicated hosts under the dedicated host group."
+ }
+ }
+ },
+ "DedicatedHostGroupProperties": {
+ "properties": {
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 1,
+ "maximum": 3,
+ "description": "Number of fault domains that the host group can span."
+ },
+ "hosts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of references to all dedicated hosts in the dedicated host group."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/DedicatedHostGroupInstanceView",
+ "readOnly": true,
+ "description": "The dedicated host group instance view, which has the list of instance view of the dedicated hosts under the dedicated host group."
+ },
+ "supportAutomaticPlacement": {
+ "type": "boolean",
+ "description": "Specifies whether virtual machines or virtual machine scale sets can be placed automatically on the dedicated host group. Automatic placement means resources are allocated on dedicated hosts, that are chosen by Azure, under the dedicated host group. The value is defaulted to 'true' when not provided.
Minimum api-version: 2020-06-01."
+ }
+ },
+ "required": [
+ "platformFaultDomainCount"
+ ],
+ "description": "Dedicated Host Group Properties."
+ },
+ "DedicatedHostGroup": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostGroupProperties"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the dedicated host group that the dedicated hosts should be assigned to.
Currently, a dedicated host can only be added to a dedicated host group at creation time. An existing dedicated host cannot be added to another dedicated host group."
+ },
+ "DedicatedHostGroupUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostGroupProperties"
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability Zone to use for this host group. Only single zone is supported. The zone can be assigned only during creation. If not provided, the group supports all zones in the region. If provided, enforces each host in the group to be in the same zone."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the dedicated host group that the dedicated host should be assigned to. Only tags may be updated."
+ },
+ "DedicatedHostGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHostGroup"
+ },
+ "description": "The list of dedicated host groups"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of Dedicated Host Groups. Call ListNext() with this URI to fetch the next page of Dedicated Host Groups."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Dedicated Host Group with resource group response."
+ },
+ "DedicatedHostLicenseType": {
+ "type": "string",
+ "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.
Possible values are:
**None**
**Windows_Server_Hybrid**
**Windows_Server_Perpetual**
Default: **None**",
+ "enum": [
+ "None",
+ "Windows_Server_Hybrid",
+ "Windows_Server_Perpetual"
+ ],
+ "x-ms-enum": {
+ "name": "DedicatedHostLicenseTypes",
+ "modelAsString": false
+ }
+ },
+ "DedicatedHostAllocatableVM": {
+ "properties": {
+ "vmSize": {
+ "type": "string",
+ "description": "VM size in terms of which the unutilized capacity is represented."
+ },
+ "count": {
+ "type": "number",
+ "format": "double",
+ "description": "Maximum number of VMs of size vmSize that can fit in the dedicated host's remaining capacity."
+ }
+ },
+ "description": "Represents the dedicated host unutilized capacity in terms of a specific VM size."
+ },
+ "DedicatedHostAvailableCapacity": {
+ "properties": {
+ "allocatableVMs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHostAllocatableVM"
+ },
+ "description": "The unutilized capacity of the dedicated host represented in terms of each VM size that is allowed to be deployed to the dedicated host."
+ }
+ },
+ "description": "Dedicated host unutilized capacity."
+ },
+ "DedicatedHostInstanceView": {
+ "properties": {
+ "assetId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the unique id of the dedicated physical machine on which the dedicated host resides."
+ },
+ "availableCapacity": {
+ "$ref": "#/definitions/DedicatedHostAvailableCapacity",
+ "description": "Unutilized capacity of the dedicated host."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a dedicated host."
+ },
+ "DedicatedHostInstanceViewWithName": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the dedicated host."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DedicatedHostInstanceView"
+ }
+ ],
+ "description": "The instance view of a dedicated host that includes the name of the dedicated host. It is used for the response to the instance view of a dedicated host group."
+ },
+ "DedicatedHostProperties": {
+ "properties": {
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 2,
+ "description": "Fault domain of the dedicated host within a dedicated host group."
+ },
+ "autoReplaceOnFailure": {
+ "type": "boolean",
+ "description": "Specifies whether the dedicated host should be replaced automatically in case of a failure. The value is defaulted to 'true' when not provided."
+ },
+ "hostId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A unique id generated and assigned to the dedicated host by the platform.
Does not change throughout the lifetime of the host."
+ },
+ "virtualMachines": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ },
+ "readOnly": true,
+ "description": "A list of references to all virtual machines in the Dedicated Host."
+ },
+ "licenseType": {
+ "$ref": "#/definitions/DedicatedHostLicenseType",
+ "description": "Specifies the software license type that will be applied to the VMs deployed on the dedicated host.
Possible values are:
**None**
**Windows_Server_Hybrid**
**Windows_Server_Perpetual**
Default: **None**"
+ },
+ "provisioningTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The date when the host was first provisioned."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/DedicatedHostInstanceView",
+ "readOnly": true,
+ "description": "The dedicated host instance view."
+ }
+ },
+ "description": "Properties of the dedicated host."
+ },
+ "DedicatedHost": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostProperties"
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "SKU of the dedicated host for Hardware Generation and VM family. Only name is required to be set. List Microsoft.Compute SKUs for a list of possible values."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku"
+ ],
+ "description": "Specifies information about the Dedicated host."
+ },
+ "DedicatedHostUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DedicatedHostProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the dedicated host. Only tags, autoReplaceOnFailure and licenseType may be updated."
+ },
+ "DedicatedHostListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DedicatedHost"
+ },
+ "description": "The list of dedicated hosts"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of dedicated hosts. Call ListNext() with this URI to fetch the next page of dedicated hosts."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The list dedicated host operation response."
+ },
+ "SshPublicKeyGenerateKeyPairResult": {
+ "properties": {
+ "privateKey": {
+ "type": "string",
+ "description": "Private key portion of the key pair used to authenticate to a virtual machine through ssh. The private key is returned in RFC3447 format and should be treated as a secret."
+ },
+ "publicKey": {
+ "type": "string",
+ "description": "Public key portion of the key pair used to authenticate to a virtual machine through ssh. The public key is in ssh-rsa format."
+ },
+ "id": {
+ "type": "string",
+ "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/providers/Microsoft.Compute/sshPublicKeys/{SshPublicKeyName}"
+ }
+ },
+ "required": [
+ "privateKey",
+ "publicKey",
+ "id"
+ ],
+ "description": "Response from generation of an SSH key pair."
+ },
+ "SshPublicKeyResourceProperties": {
+ "properties": {
+ "publicKey": {
+ "type": "string",
+ "description": "SSH public key used to authenticate to a virtual machine through ssh. If this property is not initially provided when the resource is created, the publicKey property will be populated when generateKeyPair is called. If the public key is provided upon resource creation, the provided public key needs to be at least 2048-bit and in ssh-rsa format."
+ }
+ },
+ "description": "Properties of the SSH public key."
+ },
+ "SshPublicKeyResource": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SshPublicKeyResourceProperties",
+ "description": "Properties of the SSH public key."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Specifies information about the SSH public key."
+ },
+ "SshPublicKeyUpdateResource": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SshPublicKeyResourceProperties",
+ "description": "Properties of the SSH public key."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Specifies information about the SSH public key."
+ },
+ "SshPublicKeysGroupListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SshPublicKeyResource"
+ },
+ "description": "The list of SSH public keys"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of SSH public keys. Call ListNext() with this URI to fetch the next page of SSH public keys."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The list SSH public keys operation response."
+ },
+ "VirtualMachineSize": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the virtual machine size."
+ },
+ "numberOfCores": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of cores supported by the virtual machine size."
+ },
+ "osDiskSizeInMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The OS disk size, in MB, allowed by the virtual machine size."
+ },
+ "resourceDiskSizeInMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The resource disk size, in MB, allowed by the virtual machine size."
+ },
+ "memoryInMB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The amount of memory, in MB, supported by the virtual machine size."
+ },
+ "maxDataDiskCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The maximum number of data disks that can be attached to the virtual machine size."
+ }
+ },
+ "description": "Describes the properties of a VM size."
+ },
+ "VirtualMachineSizeListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineSize"
+ },
+ "description": "The list of virtual machine sizes."
+ }
+ },
+ "description": "The List Virtual Machine operation response."
+ },
+ "VirtualMachineExtensionImageProperties": {
+ "properties": {
+ "operatingSystem": {
+ "type": "string",
+ "description": "The operating system this extension supports."
+ },
+ "computeRole": {
+ "type": "string",
+ "description": "The type of role (IaaS or PaaS) this extension supports."
+ },
+ "handlerSchema": {
+ "type": "string",
+ "description": "The schema defined by publisher, where extension consumers should provide settings in a matching schema."
+ },
+ "vmScaleSetEnabled": {
+ "type": "boolean",
+ "description": "Whether the extension can be used on xRP VMScaleSets. By default existing extensions are usable on scalesets, but there might be cases where a publisher wants to explicitly indicate the extension is only enabled for CRP VMs but not VMSS."
+ },
+ "supportsMultipleExtensions": {
+ "type": "boolean",
+ "description": "Whether the handler can support multiple extensions."
+ }
+ },
+ "required": [
+ "operatingSystem",
+ "computeRole",
+ "handlerSchema"
+ ],
+ "description": "Describes the properties of a Virtual Machine Extension Image."
+ },
+ "VirtualMachineExtensionImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionImageProperties"
+ }
+ },
+ "required": [
+ "name",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension Image."
+ },
+ "VirtualMachineImageResource": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "location": {
+ "type": "string",
+ "description": "The supported Azure location of the resource."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Specifies the tags that are assigned to the virtual machine. For more information about using tags, see [Using tags to organize your Azure resources](https://docs.microsoft.com/azure/azure-resource-manager/resource-group-using-tags.md)."
+ }
+ },
+ "required": [
+ "name",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Virtual machine image resource information."
+ },
+ "VirtualMachineExtensionInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The virtual machine extension name."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "substatuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of a virtual machine extension."
+ },
+ "VirtualMachineExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "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."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineExtensionInstanceView",
+ "description": "The virtual machine extension instance view."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Extension."
+ },
+ "VirtualMachineExtensionUpdateProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "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."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Extension."
+ },
+ "VirtualMachineExtension": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension."
+ },
+ "VirtualMachineExtensionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineExtensionUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Extension."
+ },
+ "VirtualMachineExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The list of extensions"
+ }
+ },
+ "description": "The List Extension operation response"
+ },
+ "VirtualMachineSoftwarePatchProperties": {
+ "properties": {
+ "patchId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A unique identifier for the patch."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The friendly name of the patch."
+ },
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The version number of the patch. This property applies only to Linux patches."
+ },
+ "kbid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The KBID of the patch. Only applies to Windows patches."
+ },
+ "classifications": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "type": "string"
+ },
+ "description": "The classification(s) of the patch as provided by the patch publisher."
+ },
+ "rebootBehavior": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Describes the reboot requirements of the patch.",
+ "enum": [
+ "NeverReboots",
+ "AlwaysRequiresReboot",
+ "CanRequestReboot"
+ ],
+ "x-ms-enum": {
+ "name": "SoftwareUpdateRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "activityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "publishedDate": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the repository published this patch."
+ },
+ "lastModifiedDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp of the last update to this patch record."
+ },
+ "assessmentState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Describes the outcome of an install operation for a given patch.",
+ "enum": [
+ "Installed",
+ "Failed",
+ "Excluded",
+ "NotSelected",
+ "Pending",
+ "Available"
+ ],
+ "x-ms-enum": {
+ "name": "PatchAssessmentState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine software patch."
+ },
+ "VirtualMachineAssessPatchesResult": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "InProgress",
+ "Failed",
+ "Succeeded",
+ "CompletedWithWarnings"
+ ],
+ "x-ms-enum": {
+ "name": "PatchOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "assessmentActivityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "rebootPending": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred."
+ },
+ "criticalAndSecurityPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of critical or security patches that have been detected as available and not yet installed."
+ },
+ "otherPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches excluding critical and security."
+ },
+ "startDateTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "patches": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineSoftwarePatchProperties"
+ },
+ "description": "The list of patches that have been detected as available for installation."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "The errors that were encountered during execution of the operation. The details array contains the list of them."
+ }
+ },
+ "description": "Describes the properties of an AssessPatches result."
+ },
+ "PurchasePlan": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element."
+ }
+ },
+ "required": [
+ "publisher",
+ "name",
+ "product"
+ ],
+ "description": "Used for establishing the purchase context of any 3rd Party artifact through MarketPlace."
+ },
+ "OSDiskImage": {
+ "properties": {
+ "operatingSystem": {
+ "type": "string",
+ "description": "The operating system of the osDiskImage.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "operatingSystem"
+ ],
+ "description": "Contains the os disk image information."
+ },
+ "DataDiskImage": {
+ "properties": {
+ "lun": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ }
+ },
+ "description": "Contains the data disk images information."
+ },
+ "AutomaticOSUpgradeProperties": {
+ "properties": {
+ "automaticOSUpgradeSupported": {
+ "type": "boolean",
+ "description": "Specifies whether automatic OS upgrade is supported on the image."
+ }
+ },
+ "required": [
+ "automaticOSUpgradeSupported"
+ ],
+ "description": "Describes automatic OS upgrade properties on the image."
+ },
+ "VirtualMachineImageProperties": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/PurchasePlan"
+ },
+ "osDiskImage": {
+ "$ref": "#/definitions/OSDiskImage"
+ },
+ "dataDiskImages": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDiskImage"
+ }
+ },
+ "automaticOSUpgradeProperties": {
+ "$ref": "#/definitions/AutomaticOSUpgradeProperties"
+ },
+ "hyperVGeneration": {
+ "$ref": "#/definitions/HyperVGenerationType"
+ },
+ "disallowed": {
+ "$ref": "#/definitions/DisallowedConfiguration",
+ "description": "Specifies disallowed configuration for the VirtualMachine created from the image"
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Image."
+ },
+ "VirtualMachineImage": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineImageProperties"
+ }
+ },
+ "required": [
+ "name",
+ "location"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineImageResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Image."
+ },
+ "UsageName": {
+ "properties": {
+ "value": {
+ "type": "string",
+ "description": "The name of the resource."
+ },
+ "localizedValue": {
+ "type": "string",
+ "description": "The localized name of the resource."
+ }
+ },
+ "description": "The Usage Names."
+ },
+ "Usage": {
+ "properties": {
+ "unit": {
+ "type": "string",
+ "description": "An enum describing the unit of usage measurement.",
+ "enum": [
+ "Count"
+ ],
+ "x-ms-enum": {
+ "name": "UsageUnit",
+ "modelAsString": false
+ }
+ },
+ "currentValue": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The current usage of the resource."
+ },
+ "limit": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum permitted usage of the resource."
+ },
+ "name": {
+ "$ref": "#/definitions/UsageName",
+ "description": "The name of the type of usage."
+ }
+ },
+ "required": [
+ "unit",
+ "currentValue",
+ "limit",
+ "name"
+ ],
+ "description": "Describes Compute Resource Usage."
+ },
+ "ListUsagesResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ },
+ "description": "The list of compute resource usages."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of compute resource usage information. Call ListNext() with this to fetch the next page of compute resource usage information."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Usages operation response."
+ },
+ "VirtualMachineReimageParameters": {
+ "properties": {
+ "tempDisk": {
+ "type": "boolean",
+ "description": "Specifies whether to reimage temp disk. Default value: false. Note: This temp disk reimage parameter is only supported for VM/VMSS with Ephemeral OS disk."
+ }
+ },
+ "description": "Parameters for Reimaging Virtual Machine. NOTE: Virtual Machine OS disk will always be reimaged"
+ },
+ "VirtualMachineCaptureParameters": {
+ "properties": {
+ "vhdPrefix": {
+ "type": "string",
+ "description": "The captured virtual hard disk's name prefix."
+ },
+ "destinationContainerName": {
+ "type": "string",
+ "description": "The destination container name."
+ },
+ "overwriteVhds": {
+ "type": "boolean",
+ "description": "Specifies whether to overwrite the destination virtual hard disk, in case of conflict."
+ }
+ },
+ "required": [
+ "vhdPrefix",
+ "destinationContainerName",
+ "overwriteVhds"
+ ],
+ "description": "Capture Virtual Machine parameters."
+ },
+ "VirtualMachineCaptureResult": {
+ "properties": {
+ "$schema": {
+ "readOnly": true,
+ "type": "string",
+ "description": "the schema of the captured virtual machine"
+ },
+ "contentVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "the version of the content"
+ },
+ "parameters": {
+ "readOnly": true,
+ "type": "object",
+ "description": "parameters of the captured virtual machine"
+ },
+ "resources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "object",
+ "description": "resource item"
+ },
+ "description": "a list of resource items of the captured virtual machine"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Output of virtual machine capture operation."
+ },
+ "Plan": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The plan ID."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The publisher ID."
+ },
+ "product": {
+ "type": "string",
+ "description": "Specifies the product of the image from the marketplace. This is the same value as Offer under the imageReference element."
+ },
+ "promotionCode": {
+ "type": "string",
+ "description": "The promotion code."
+ }
+ },
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "HardwareProfile": {
+ "properties": {
+ "vmSize": {
+ "type": "string",
+ "description": "Specifies the size of the virtual machine. For more information about virtual machine sizes, see [Sizes for virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-sizes?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
The available VM sizes depend on region and availability set. For a list of available sizes use these APIs:
[List all available virtual machine sizes in an availability set](https://docs.microsoft.com/rest/api/compute/availabilitysets/listavailablesizes)
[List all available virtual machine sizes in a region](https://docs.microsoft.com/rest/api/compute/virtualmachinesizes/list)
[List all available virtual machine sizes for resizing](https://docs.microsoft.com/rest/api/compute/virtualmachines/listavailablesizes)",
+ "enum": [
+ "Basic_A0",
+ "Basic_A1",
+ "Basic_A2",
+ "Basic_A3",
+ "Basic_A4",
+ "Standard_A0",
+ "Standard_A1",
+ "Standard_A2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A9",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2_v2",
+ "Standard_A4_v2",
+ "Standard_A8_v2",
+ "Standard_A2m_v2",
+ "Standard_A4m_v2",
+ "Standard_A8m_v2",
+ "Standard_B1s",
+ "Standard_B1ms",
+ "Standard_B2s",
+ "Standard_B2ms",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D2",
+ "Standard_D3",
+ "Standard_D4",
+ "Standard_D11",
+ "Standard_D12",
+ "Standard_D13",
+ "Standard_D14",
+ "Standard_D1_v2",
+ "Standard_D2_v2",
+ "Standard_D3_v2",
+ "Standard_D4_v2",
+ "Standard_D5_v2",
+ "Standard_D2_v3",
+ "Standard_D4_v3",
+ "Standard_D8_v3",
+ "Standard_D16_v3",
+ "Standard_D32_v3",
+ "Standard_D64_v3",
+ "Standard_D2s_v3",
+ "Standard_D4s_v3",
+ "Standard_D8s_v3",
+ "Standard_D16s_v3",
+ "Standard_D32s_v3",
+ "Standard_D64s_v3",
+ "Standard_D11_v2",
+ "Standard_D12_v2",
+ "Standard_D13_v2",
+ "Standard_D14_v2",
+ "Standard_D15_v2",
+ "Standard_DS1",
+ "Standard_DS2",
+ "Standard_DS3",
+ "Standard_DS4",
+ "Standard_DS11",
+ "Standard_DS12",
+ "Standard_DS13",
+ "Standard_DS14",
+ "Standard_DS1_v2",
+ "Standard_DS2_v2",
+ "Standard_DS3_v2",
+ "Standard_DS4_v2",
+ "Standard_DS5_v2",
+ "Standard_DS11_v2",
+ "Standard_DS12_v2",
+ "Standard_DS13_v2",
+ "Standard_DS14_v2",
+ "Standard_DS15_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13-2_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14-4_v2",
+ "Standard_E2_v3",
+ "Standard_E4_v3",
+ "Standard_E8_v3",
+ "Standard_E16_v3",
+ "Standard_E32_v3",
+ "Standard_E64_v3",
+ "Standard_E2s_v3",
+ "Standard_E4s_v3",
+ "Standard_E8s_v3",
+ "Standard_E16s_v3",
+ "Standard_E32s_v3",
+ "Standard_E64s_v3",
+ "Standard_E32-16_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_F1",
+ "Standard_F2",
+ "Standard_F4",
+ "Standard_F8",
+ "Standard_F16",
+ "Standard_F1s",
+ "Standard_F2s",
+ "Standard_F4s",
+ "Standard_F8s",
+ "Standard_F16s",
+ "Standard_F2s_v2",
+ "Standard_F4s_v2",
+ "Standard_F8s_v2",
+ "Standard_F16s_v2",
+ "Standard_F32s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS5",
+ "Standard_GS4-8",
+ "Standard_GS4-4",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H8",
+ "Standard_H16",
+ "Standard_H8m",
+ "Standard_H16m",
+ "Standard_H16r",
+ "Standard_H16mr",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_M64s",
+ "Standard_M64ms",
+ "Standard_M128s",
+ "Standard_M128ms",
+ "Standard_M64-32ms",
+ "Standard_M64-16ms",
+ "Standard_M128-64ms",
+ "Standard_M128-32ms",
+ "Standard_NC6",
+ "Standard_NC12",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC6s_v2",
+ "Standard_NC12s_v2",
+ "Standard_NC24s_v2",
+ "Standard_NC24rs_v2",
+ "Standard_NC6s_v3",
+ "Standard_NC12s_v3",
+ "Standard_NC24s_v3",
+ "Standard_NC24rs_v3",
+ "Standard_ND6s",
+ "Standard_ND12s",
+ "Standard_ND24s",
+ "Standard_ND24rs",
+ "Standard_NV6",
+ "Standard_NV12",
+ "Standard_NV24"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineSizeTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Specifies the hardware settings for the virtual machine."
+ },
+ "ImageReference": {
+ "properties": {
+ "publisher": {
+ "type": "string",
+ "description": "The image publisher."
+ },
+ "offer": {
+ "type": "string",
+ "description": "Specifies the offer of the platform image or marketplace image used to create the virtual machine."
+ },
+ "sku": {
+ "type": "string",
+ "description": "The image SKU."
+ },
+ "version": {
+ "type": "string",
+ "description": "Specifies the version of the platform image or marketplace image used to create the virtual machine. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available."
+ },
+ "exactVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies in decimal numbers, the version of platform image or marketplace image used to create the virtual machine. This readonly field differs from 'version', only if the value specified in 'version' field is 'latest'."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations. NOTE: Image reference publisher and offer can only be set when you create the scale set."
+ },
+ "KeyVaultSecretReference": {
+ "properties": {
+ "secretUrl": {
+ "type": "string",
+ "description": "The URL referencing a secret in a Key Vault."
+ },
+ "sourceVault": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The relative URL of the Key Vault containing the secret."
+ }
+ },
+ "required": [
+ "secretUrl",
+ "sourceVault"
+ ],
+ "description": "Describes a reference to Key Vault Secret"
+ },
+ "DiskEncryptionSetParameters": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes the parameter of customer managed disk encryption set resource id that can be specified for disk.
NOTE: The disk encryption set resource id can only be specified for managed disk. Please refer https://aka.ms/mdssewithcmkoverview for more details."
+ },
+ "KeyVaultKeyReference": {
+ "properties": {
+ "keyUrl": {
+ "type": "string",
+ "description": "The URL referencing a key encryption key in Key Vault."
+ },
+ "sourceVault": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The relative URL of the Key Vault containing the key."
+ }
+ },
+ "required": [
+ "keyUrl",
+ "sourceVault"
+ ],
+ "description": "Describes a reference to Key Vault Key"
+ },
+ "DiskEncryptionSettings": {
+ "properties": {
+ "diskEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultSecretReference",
+ "description": "Specifies the location of the disk encryption key, which is a Key Vault Secret."
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultKeyReference",
+ "description": "Specifies the location of the key encryption key in Key Vault."
+ },
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether disk encryption should be enabled on the virtual machine."
+ }
+ },
+ "description": "Describes a Encryption Settings for a Disk"
+ },
+ "VirtualHardDisk": {
+ "properties": {
+ "uri": {
+ "type": "string",
+ "description": "Specifies the virtual hard disk's uri."
+ }
+ },
+ "description": "Describes the uri of a disk."
+ },
+ "Caching": {
+ "type": "string",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingTypes",
+ "modelAsString": false
+ }
+ },
+ "CreateOption": {
+ "type": "string",
+ "description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described.",
+ "enum": [
+ "FromImage",
+ "Empty",
+ "Attach"
+ ],
+ "x-ms-enum": {
+ "name": "DiskCreateOptionTypes",
+ "modelAsString": true
+ }
+ },
+ "StorageAccountType": {
+ "type": "string",
+ "description": "Specifies the storage account type for the managed disk. Managed OS disk storage account type can only be set when you create the scale set. NOTE: UltraSSD_LRS can only be used with data disks. It cannot be used with OS Disk. Standard_LRS uses Standard HDD. StandardSSD_LRS uses Standard SSD. Premium_LRS uses Premium SSD. UltraSSD_LRS uses Ultra disk. For more information regarding disks supported for Windows Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-types and, for Linux Virtual Machines, refer to https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disks-types",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "StorageAccountTypes",
+ "modelAsString": true
+ }
+ },
+ "DiffDiskOption": {
+ "type": "string",
+ "description": "Specifies the ephemeral disk option for operating system disk.",
+ "enum": [
+ "Local"
+ ],
+ "x-ms-enum": {
+ "name": "DiffDiskOptions",
+ "modelAsString": true
+ }
+ },
+ "DiffDiskPlacement": {
+ "type": "string",
+ "description": "Specifies the ephemeral disk placement for operating system disk. This property can be used by user in the request to choose the location i.e, cache disk or resource disk space for Ephemeral OS disk provisioning. For more information on Ephemeral OS disk size requirements, please refer Ephemeral OS disk size requirements for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/ephemeral-os-disks#size-requirements and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/ephemeral-os-disks#size-requirements",
+ "enum": [
+ "CacheDisk",
+ "ResourceDisk"
+ ],
+ "x-ms-enum": {
+ "name": "DiffDiskPlacement",
+ "modelAsString": true
+ }
+ },
+ "DiffDiskSettings": {
+ "properties": {
+ "option": {
+ "$ref": "#/definitions/DiffDiskOption",
+ "description": "Specifies the ephemeral disk settings for operating system disk."
+ },
+ "placement": {
+ "$ref": "#/definitions/DiffDiskPlacement",
+ "description": "Specifies the ephemeral disk placement for operating system disk.
Possible values are:
**CacheDisk**
**ResourceDisk**
Default: **CacheDisk** if one is configured for the VM size otherwise **ResourceDisk** is used.
Refer to VM size documentation for Windows VM at https://docs.microsoft.com/en-us/azure/virtual-machines/windows/sizes and Linux VM at https://docs.microsoft.com/en-us/azure/virtual-machines/linux/sizes to check which VM sizes exposes a cache disk."
+ }
+ },
+ "description": "Describes the parameters of ephemeral disk settings that can be specified for operating system disk.
NOTE: The ephemeral disk settings can only be specified for managed disk."
+ },
+ "ManagedDiskParameters": {
+ "properties": {
+ "storageAccountType": {
+ "$ref": "#/definitions/StorageAccountType",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
+ },
+ "diskEncryptionSet": {
+ "$ref": "#/definitions/DiskEncryptionSetParameters",
+ "description": "Specifies the customer managed disk encryption set resource id for the managed disk."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "The parameters of a managed disk."
+ },
+ "OSDisk": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "encryptionSettings": {
+ "$ref": "#/definitions/DiskEncryptionSettings",
+ "description": "Specifies the encryption settings for the OS Disk.
Minimum api-version: 2015-06-15"
+ },
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "vhd": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The virtual hard disk."
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None** for Standard storage. **ReadOnly** for Premium storage."
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "diffDiskSettings": {
+ "$ref": "#/definitions/DiffDiskSettings",
+ "description": "Specifies the ephemeral Disk Settings for the operating system disk used by the virtual machine."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/ManagedDiskParameters"
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "DataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ },
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "vhd": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The virtual hard disk."
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "Specifies how the virtual machine should be created.
Possible values are:
**Attach** \\u2013 This value is used when you are using a specialized disk to create the virtual machine.
**FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/ManagedDiskParameters"
+ },
+ "toBeDetached": {
+ "type": "boolean",
+ "description": "Specifies whether the data disk is in process of detachment from the VirtualMachine/VirtualMachineScaleset"
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "Specifies the Read-Write IOPS for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int64",
+ "description": "Specifies the bandwidth in MB per second for the managed disk when StorageAccountType is UltraSSD_LRS. Returned only for VirtualMachine ScaleSet VM disks. Can be updated only via updates to the VirtualMachine Scale Set."
+ }
+ },
+ "required": [
+ "lun",
+ "createOption"
+ ],
+ "description": "Describes a data disk."
+ },
+ "StorageProfile": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/OSDisk",
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataDisk"
+ },
+ "description": "Specifies the parameters that are used to add a data disk to a virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ }
+ },
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "SecurityProfile": {
+ "properties": {
+ "encryptionAtHost": {
+ "type": "boolean",
+ "description": "This property can be used by user in the request to enable or disable the Host Encryption for the virtual machine or virtual machine scale set. 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."
+ }
+ },
+ "description": "Specifies the Security profile settings for the virtual machine or virtual machine scale set."
+ },
+ "AdditionalCapabilities": {
+ "properties": {
+ "ultraSSDEnabled": {
+ "type": "boolean",
+ "description": "The flag that enables or disables a capability to have one or more managed data disks with UltraSSD_LRS storage account type on the VM or VMSS. Managed disks with storage account type UltraSSD_LRS can be added to a virtual machine or virtual machine scale set only if this property is enabled."
+ }
+ },
+ "description": "Enables or disables a capability on the virtual machine or virtual machine scale set."
+ },
+ "AdditionalUnattendContent": {
+ "properties": {
+ "passName": {
+ "type": "string",
+ "description": "The pass name. Currently, the only allowable value is OobeSystem.",
+ "enum": [
+ "OobeSystem"
+ ],
+ "x-ms-enum": {
+ "name": "PassNames",
+ "modelAsString": false
+ }
+ },
+ "componentName": {
+ "type": "string",
+ "description": "The component name. Currently, the only allowable value is Microsoft-Windows-Shell-Setup.",
+ "enum": [
+ "Microsoft-Windows-Shell-Setup"
+ ],
+ "x-ms-enum": {
+ "name": "ComponentNames",
+ "modelAsString": false
+ }
+ },
+ "settingName": {
+ "type": "string",
+ "description": "Specifies the name of the setting to which the content applies. Possible values are: FirstLogonCommands and AutoLogon.",
+ "enum": [
+ "AutoLogon",
+ "FirstLogonCommands"
+ ],
+ "x-ms-enum": {
+ "name": "SettingNames",
+ "modelAsString": false
+ }
+ },
+ "content": {
+ "type": "string",
+ "description": "Specifies the XML formatted content that is added to the unattend.xml file for the specified path and component. The XML must be less than 4KB and must include the root element for the setting or feature that is being inserted."
+ }
+ },
+ "description": "Specifies additional XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup. Contents are defined by setting name, component name, and the pass in which the content is applied."
+ },
+ "WinRMListener": {
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "Specifies the protocol of WinRM listener.
Possible values are:
**http**
**https**",
+ "enum": [
+ "Http",
+ "Https"
+ ],
+ "x-ms-enum": {
+ "name": "ProtocolTypes",
+ "modelAsString": false
+ }
+ },
+ "certificateUrl": {
+ "type": "string",
+ "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}"
+ }
+ },
+ "description": "Describes Protocol and thumbprint of Windows Remote Management listener"
+ },
+ "WinRMConfiguration": {
+ "properties": {
+ "listeners": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/WinRMListener"
+ },
+ "description": "The list of Windows Remote Management listeners"
+ }
+ },
+ "description": "Describes Windows Remote Management configuration of the VM"
+ },
+ "WindowsConfiguration": {
+ "properties": {
+ "provisionVMAgent": {
+ "type": "boolean",
+ "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.
When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later."
+ },
+ "enableAutomaticUpdates": {
+ "type": "boolean",
+ "description": "Indicates whether Automatic Updates is enabled for the Windows virtual machine. Default value is true.
For virtual machine scale sets, this property can be updated and updates will take effect on OS reprovisioning."
+ },
+ "timeZone": {
+ "type": "string",
+ "description": "Specifies the time zone of the virtual machine. e.g. \"Pacific Standard Time\".
Possible values can be [TimeZoneInfo.Id](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.id?#System_TimeZoneInfo_Id) value from time zones returned by [TimeZoneInfo.GetSystemTimeZones](https://docs.microsoft.com/en-us/dotnet/api/system.timezoneinfo.getsystemtimezones)."
+ },
+ "additionalUnattendContent": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalUnattendContent"
+ },
+ "description": "Specifies additional base-64 encoded XML formatted information that can be included in the Unattend.xml file, which is used by Windows Setup."
+ },
+ "patchSettings": {
+ "$ref": "#/definitions/PatchSettings",
+ "description": "Specifies settings related to in-guest patching (KBs)."
+ },
+ "winRM": {
+ "$ref": "#/definitions/WinRMConfiguration",
+ "description": "Specifies the Windows Remote Management listeners. This enables remote Windows PowerShell."
+ }
+ },
+ "description": "Specifies Windows operating system settings on the virtual machine."
+ },
+ "SshPublicKey": {
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "Specifies the full path on the created VM where ssh public key is stored. If the file already exists, the specified key is appended to the file. Example: /home/user/.ssh/authorized_keys"
+ },
+ "keyData": {
+ "type": "string",
+ "description": "SSH public key certificate used to authenticate with the VM through ssh. The key needs to be at least 2048-bit and in ssh-rsa format.
For creating ssh keys, see [Create SSH keys on Linux and Mac for Linux VMs in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-mac-create-ssh-keys?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)."
+ }
+ },
+ "description": "Contains information about SSH certificate public key and the path on the Linux VM where the public key is placed."
+ },
+ "SshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with linux based VMs."
+ }
+ },
+ "description": "SSH configuration for Linux based VMs running on Azure"
+ },
+ "LinuxConfiguration": {
+ "properties": {
+ "disablePasswordAuthentication": {
+ "type": "boolean",
+ "description": "Specifies whether password authentication should be disabled."
+ },
+ "ssh": {
+ "$ref": "#/definitions/SshConfiguration",
+ "description": "Specifies the ssh key configuration for a Linux OS."
+ },
+ "provisionVMAgent": {
+ "type": "boolean",
+ "description": "Indicates whether virtual machine agent should be provisioned on the virtual machine.
When this property is not specified in the request body, default behavior is to set it to true. This will ensure that VM Agent is installed on the VM so that extensions can be added to the VM later."
+ }
+ },
+ "description": "Specifies the Linux operating system settings on the virtual machine.
For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)."
+ },
+ "VaultCertificate": {
+ "properties": {
+ "certificateUrl": {
+ "type": "string",
+ "description": "This is the URL of a certificate that has been uploaded to Key Vault as a secret. For adding a secret to the Key Vault, see [Add a key or secret to the key vault](https://docs.microsoft.com/azure/key-vault/key-vault-get-started/#add). In this case, your certificate needs to be It is the Base64 encoding of the following JSON Object which is encoded in UTF-8:
{
\"data\":\"\",
\"dataType\":\"pfx\",
\"password\":\"\"
}"
+ },
+ "certificateStore": {
+ "type": "string",
+ "description": "For Windows VMs, specifies the certificate store on the Virtual Machine to which the certificate should be added. The specified certificate store is implicitly in the LocalMachine account.
For Linux VMs, the certificate file is placed under the /var/lib/waagent directory, with the file name <UppercaseThumbprint>.crt for the X509 certificate file and <UppercaseThumbprint>.prv for private key. Both of these files are .pem formatted."
+ }
+ },
+ "description": "Describes a single certificate reference in a Key Vault, and where the certificate should reside on the VM."
+ },
+ "VaultSecretGroup": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The relative URL of the Key Vault containing all of the certificates in VaultCertificates."
+ },
+ "vaultCertificates": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultCertificate"
+ },
+ "description": "The list of key vault references in SourceVault which contain certificates."
+ }
+ },
+ "description": "Describes a set of certificates which are all in the same Key Vault."
+ },
+ "OSProfile": {
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "description": "Specifies the host OS name of the virtual machine.
This name cannot be updated after the VM is created.
**Max-length (Windows):** 15 characters
**Max-length (Linux):** 64 characters.
For naming conventions and restrictions see [Azure infrastructure services implementation guidelines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-infrastructure-subscription-accounts-guidelines?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#1-naming-conventions)."
+ },
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
This property cannot be updated after the VM is created.
**Windows-only restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length (Linux):** 1 character
**Max-length (Linux):** 64 characters
**Max-length (Windows):** 20 characters
For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length (Windows):** 8 characters
**Minimum-length (Linux):** 6 characters
**Max-length (Windows):** 123 characters
**Max-length (Linux):** 72 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"
For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)"
+ },
+ "customData": {
+ "type": "string",
+ "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
**Note: Do not pass any secrets or passwords in customData property**
This property cannot be updated after the VM is created.
customData is passed to the VM to be saved as a file, for more information see [Custom Data on Azure VMs](https://azure.microsoft.com/en-us/blog/custom-data-and-cloud-init-on-windows-azure/)
For using cloud-init for your Linux VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "description": "Specifies Windows operating system settings on the virtual machine."
+ },
+ "linuxConfiguration": {
+ "$ref": "#/definitions/LinuxConfiguration",
+ "description": "Specifies the Linux operating system settings on the virtual machine.
For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "Specifies set of certificates that should be installed onto the virtual machine."
+ },
+ "allowExtensionOperations": {
+ "type": "boolean",
+ "description": "Specifies whether extension operations should be allowed on the virtual machine.
This may only be set to False when no extensions are present on the virtual machine."
+ },
+ "requireGuestProvisionSignal": {
+ "type": "boolean",
+ "description": "Specifies whether the guest provision signal is required to infer provision success of the virtual machine. **Note: This property is for private testing only, and all customers must not set the property to false.**"
+ }
+ },
+ "description": "Specifies the operating system settings for the virtual machine. Some of the settings cannot be changed once VM is provisioned."
+ },
+ "AutomaticRepairsPolicy": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Specifies whether automatic repairs should be enabled on the virtual machine scale set. The default value is false."
+ },
+ "gracePeriod": {
+ "type": "string",
+ "description": "The amount of time for which automatic repairs are suspended due to a state change on VM. The grace time starts after the state change has completed. This helps avoid premature or accidental repairs. The time duration should be specified in ISO 8601 format. The minimum allowed grace period is 30 minutes (PT30M), which is also the default value. The maximum allowed grace period is 90 minutes (PT90M)."
+ }
+ },
+ "description": "Specifies the configuration parameters for automatic repairs on the virtual machine scale set."
+ },
+ "NetworkInterfaceReferenceProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ }
+ },
+ "description": "Describes a network interface reference properties."
+ },
+ "NetworkInterfaceReference": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/NetworkInterfaceReferenceProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a network interface reference."
+ },
+ "NetworkProfile": {
+ "properties": {
+ "networkInterfaces": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkInterfaceReference"
+ },
+ "description": "Specifies the list of resource Ids for the network interfaces associated with the virtual machine."
+ }
+ },
+ "description": "Specifies the network interfaces of the virtual machine."
+ },
+ "BootDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether boot diagnostics should be enabled on the Virtual Machine."
+ },
+ "storageUri": {
+ "type": "string",
+ "description": "Uri of the storage account to use for placing the console output and screenshot.
If storageUri is not specified while enabling boot diagnostics, managed storage will be used."
+ }
+ },
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ },
+ "DiagnosticsProfile": {
+ "properties": {
+ "bootDiagnostics": {
+ "$ref": "#/definitions/BootDiagnostics",
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ }
+ },
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "priority": {
+ "type": "string",
+ "description": "Specifies the priority for a standalone virtual machine or the virtual machines in the scale set.
'Low' enum will be deprecated in the future, please use 'Spot' as the enum to deploy Azure Spot VM/VMSS.",
+ "enum": [
+ "Regular",
+ "Low",
+ "Spot"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachinePriorityTypes",
+ "modelAsString": true
+ }
+ },
+ "evictionPolicy": {
+ "type": "string",
+ "description": "Specifies the eviction policy for the Azure Spot VM/VMSS",
+ "enum": [
+ "Deallocate",
+ "Delete"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineEvictionPolicyTypes",
+ "modelAsString": true
+ }
+ },
+ "BillingProfile": {
+ "properties": {
+ "maxPrice": {
+ "type": "number",
+ "format": "double",
+ "description": "Specifies the maximum price you are willing to pay for a Azure Spot VM/VMSS. This price is in US Dollars.
This price will be compared with the current Azure Spot price for the VM size. Also, the prices are compared at the time of create/update of Azure Spot VM/VMSS and the operation will only succeed if the maxPrice is greater than the current Azure Spot price.
The maxPrice will also be used for evicting a Azure Spot VM/VMSS if the current Azure Spot price goes beyond the maxPrice after creation of VM/VMSS.
Possible values are:
- Any decimal value greater than zero. Example: 0.01538
-1 – indicates default price to be up-to on-demand.
You can set the maxPrice to -1 to indicate that the Azure Spot VM/VMSS should not be evicted for price reasons. Also, the default max price is -1 if it is not provided by you.
Minimum api-version: 2019-03-01."
+ }
+ },
+ "description": "Specifies the billing related details of a Azure Spot VM or VMSS.
Minimum api-version: 2019-03-01."
+ },
+ "VirtualMachineExtensionHandlerInstanceView": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "status": {
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "The extension handler status."
+ }
+ },
+ "description": "The instance view of a virtual machine extension handler."
+ },
+ "VirtualMachineAgentInstanceView": {
+ "properties": {
+ "vmAgentVersion": {
+ "type": "string",
+ "description": "The VM Agent full version."
+ },
+ "extensionHandlers": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionHandlerInstanceView"
+ },
+ "description": "The virtual machine extension handler instance view."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of the VM Agent running on the virtual machine."
+ },
+ "DiskInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "encryptionSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskEncryptionSettings"
+ },
+ "description": "Specifies the encryption settings for the OS Disk.
Minimum api-version: 2015-06-15"
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ }
+ },
+ "description": "The instance view of the disk."
+ },
+ "BootDiagnosticsInstanceView": {
+ "properties": {
+ "consoleScreenshotBlobUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The console screenshot blob URI.
NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage."
+ },
+ "serialConsoleLogBlobUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The serial console log blob Uri.
NOTE: This will **not** be set if boot diagnostics is currently enabled with managed storage."
+ },
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "The boot diagnostics status information for the VM.
NOTE: It will be set only if there are errors encountered in enabling boot diagnostics."
+ }
+ },
+ "description": "The instance view of a virtual machine boot diagnostics."
+ },
+ "VirtualMachineIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of virtual machine identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the virtual machine. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the virtual machine. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with the Virtual Machine. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the virtual machine."
+ },
+ "MaintenanceRedeployStatus": {
+ "properties": {
+ "isCustomerInitiatedMaintenanceAllowed": {
+ "type": "boolean",
+ "description": "True, if customer is allowed to perform Maintenance."
+ },
+ "preMaintenanceWindowStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start Time for the Pre Maintenance Window."
+ },
+ "preMaintenanceWindowEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End Time for the Pre Maintenance Window."
+ },
+ "maintenanceWindowStartTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "Start Time for the Maintenance Window."
+ },
+ "maintenanceWindowEndTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "End Time for the Maintenance Window."
+ },
+ "lastOperationResultCode": {
+ "type": "string",
+ "description": "The Last Maintenance Operation Result Code.",
+ "enum": [
+ "None",
+ "RetryLater",
+ "MaintenanceAborted",
+ "MaintenanceCompleted"
+ ],
+ "x-ms-enum": {
+ "name": "MaintenanceOperationResultCodeTypes",
+ "modelAsString": false
+ }
+ },
+ "lastOperationMessage": {
+ "type": "string",
+ "description": "Message returned for the last Maintenance Operation."
+ }
+ },
+ "description": "Maintenance Operation Status."
+ },
+ "VirtualMachineInstanceView": {
+ "properties": {
+ "platformUpdateDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the update domain of the virtual machine."
+ },
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the fault domain of the virtual machine."
+ },
+ "computerName": {
+ "type": "string",
+ "description": "The computer name assigned to the virtual machine."
+ },
+ "osName": {
+ "type": "string",
+ "description": "The Operating System running on the virtual machine."
+ },
+ "osVersion": {
+ "type": "string",
+ "description": "The version of Operating System running on the virtual machine."
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "Specifies the HyperVGeneration Type associated with a resource",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGenerationType",
+ "modelAsString": true
+ }
+ },
+ "rdpThumbPrint": {
+ "type": "string",
+ "description": "The Remote desktop certificate thumbprint."
+ },
+ "vmAgent": {
+ "$ref": "#/definitions/VirtualMachineAgentInstanceView",
+ "description": "The VM Agent running on the virtual machine."
+ },
+ "maintenanceRedeployStatus": {
+ "$ref": "#/definitions/MaintenanceRedeployStatus",
+ "description": "The Maintenance Operation status on the virtual machine."
+ },
+ "disks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInstanceView"
+ },
+ "description": "The virtual machine disk information."
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionInstanceView"
+ },
+ "description": "The extensions information."
+ },
+ "vmHealth": {
+ "readOnly": true,
+ "$ref": "#/definitions/VirtualMachineHealthStatus",
+ "description": "The health status for the VM."
+ },
+ "bootDiagnostics": {
+ "$ref": "#/definitions/BootDiagnosticsInstanceView",
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ },
+ "assignedHost": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.
Minimum api-version: 2020-06-01."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "patchStatus": {
+ "$ref": "#/definitions/VirtualMachinePatchStatus",
+ "description": "The status of virtual machine patch operations."
+ }
+ },
+ "description": "The instance view of a virtual machine."
+ },
+ "VirtualMachineProperties": {
+ "properties": {
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Specifies the hardware settings for the virtual machine."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the virtual machine."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings used while creating the virtual machine. Some of the settings cannot be changed once VM is provisioned."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Specifies the network interfaces of the virtual machine."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "Specifies the Security related profile settings for the virtual machine."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "availabilitySet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Currently, a VM can only be added to availability set at creation time. The availability set to which the VM is being added should be under the same resource group as the availability set resource. An existing VM cannot be added to an availability set.
This property cannot exist along with a non-null properties.virtualMachineScaleSet reference."
+ },
+ "virtualMachineScaleSet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the virtual machine scale set that the virtual machine should be assigned to. Virtual machines specified in the same virtual machine scale set are allocated to different nodes to maximize availability. Currently, a VM can only be added to virtual machine scale set at creation time. An existing VM cannot be added to a virtual machine scale set.
This property cannot exist along with a non-null properties.availabilitySet reference.
Minimum api‐version: 2019‐03‐01"
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine should be assigned to.
Minimum api-version: 2018-04-01."
+ },
+ "priority": {
+ "$ref": "#/definitions/priority",
+ "description": "Specifies the priority for the virtual machine.
Minimum api-version: 2019-03-01"
+ },
+ "evictionPolicy": {
+ "$ref": "#/definitions/evictionPolicy",
+ "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.
For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview."
+ },
+ "billingProfile": {
+ "$ref": "#/definitions/BillingProfile",
+ "description": "Specifies the billing related details of a Azure Spot virtual machine.
Minimum api-version: 2019-03-01."
+ },
+ "host": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the dedicated host that the virtual machine resides in.
Minimum api-version: 2018-10-01."
+ },
+ "hostGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the dedicated host group that the virtual machine resides in.
Minimum api-version: 2020-06-01.
NOTE: User cannot specify both host and hostGroup properties."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineInstanceView",
+ "readOnly": true,
+ "description": "The virtual machine instance view."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.
Possible values are:
Windows_Client
Windows_Server
If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Minimum api-version: 2015-06-15"
+ },
+ "vmId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the VM unique ID which is a 128-bits identifier that is encoded and stored in all Azure IaaS VMs SMBIOS and can be read using platform BIOS commands."
+ },
+ "extensionsTimeBudget": {
+ "type": "string",
+ "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).
Minimum api-version: 2020-06-01"
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine."
+ },
+ "VirtualMachine": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineProperties"
+ },
+ "resources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The virtual machine child extension resources."
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineIdentity",
+ "description": "The identity of the virtual machine, if configured."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine."
+ },
+ "VirtualMachineUpdate": {
+ "properties": {
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineIdentity",
+ "description": "The identity of the virtual machine, if configured."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Update."
+ },
+ "VirtualMachineListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachine"
+ },
+ "description": "The list of virtual machines."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of VMs. Call ListNext() with this URI to fetch the next page of Virtual Machines."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "Sku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "description": "Specifies the tier of virtual machines in a scale set.
Possible Values:
**Standard**
**Basic**"
+ },
+ "capacity": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Specifies the number of virtual machines in the scale set."
+ }
+ },
+ "description": "Describes a virtual machine scale set sku. NOTE: If the new VM SKU is not supported on the hardware the scale set is currently on, you need to deallocate the VMs in the scale set before you modify the SKU name."
+ },
+ "AutomaticOSUpgradePolicy": {
+ "properties": {
+ "enableAutomaticOSUpgrade": {
+ "type": "boolean",
+ "description": "Indicates whether OS upgrades should automatically be applied to scale set instances in a rolling fashion when a newer version of the OS image becomes available. Default value is false.
If this is set to true for Windows based scale sets, [enableAutomaticUpdates](https://docs.microsoft.com/dotnet/api/microsoft.azure.management.compute.models.windowsconfiguration.enableautomaticupdates?view=azure-dotnet) is automatically set to false and cannot be set to true."
+ },
+ "disableAutomaticRollback": {
+ "type": "boolean",
+ "description": "Whether OS image rollback feature should be disabled. Default value is false."
+ }
+ },
+ "description": "The configuration parameters used for performing automatic OS upgrade."
+ },
+ "UpgradePolicy": {
+ "properties": {
+ "mode": {
+ "type": "string",
+ "description": "Specifies the mode of an upgrade to virtual machines in the scale set.
Possible values are:
**Manual** - You control the application of updates to virtual machines in the scale set. You do this by using the manualUpgrade action.
**Automatic** - All virtual machines in the scale set are automatically updated at the same time.",
+ "enum": [
+ "Automatic",
+ "Manual",
+ "Rolling"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeMode",
+ "modelAsString": false
+ }
+ },
+ "rollingUpgradePolicy": {
+ "$ref": "#/definitions/RollingUpgradePolicy",
+ "description": "The configuration parameters used while performing a rolling upgrade."
+ },
+ "automaticOSUpgradePolicy": {
+ "$ref": "#/definitions/AutomaticOSUpgradePolicy",
+ "description": "Configuration parameters used for performing automatic OS Upgrade."
+ }
+ },
+ "description": "Describes an upgrade policy - automatic, manual, or rolling."
+ },
+ "RollingUpgradePolicy": {
+ "properties": {
+ "maxBatchInstancePercent": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 5,
+ "maximum": 100,
+ "description": "The maximum percent of total virtual machine instances that will be upgraded simultaneously by the rolling upgrade in one batch. As this is a maximum, unhealthy instances in previous or future batches can cause the percentage of instances in a batch to decrease to ensure higher reliability. The default value for this parameter is 20%."
+ },
+ "maxUnhealthyInstancePercent": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 5,
+ "maximum": 100,
+ "description": "The maximum percentage of the total virtual machine instances in the scale set that can be simultaneously unhealthy, either as a result of being upgraded, or by being found in an unhealthy state by the virtual machine health checks before the rolling upgrade aborts. This constraint will be checked prior to starting any batch. The default value for this parameter is 20%."
+ },
+ "maxUnhealthyUpgradedInstancePercent": {
+ "type": "integer",
+ "format": "int32",
+ "minimum": 0,
+ "maximum": 100,
+ "description": "The maximum percentage of upgraded virtual machine instances that can be found to be in an unhealthy state. This check will happen after each batch is upgraded. If this percentage is ever exceeded, the rolling update aborts. The default value for this parameter is 20%."
+ },
+ "pauseTimeBetweenBatches": {
+ "type": "string",
+ "description": "The wait time between completing the update for all virtual machines in one batch and starting the next batch. The time duration should be specified in ISO 8601 format. The default value is 0 seconds (PT0S)."
+ }
+ },
+ "description": "The configuration parameters used while performing a rolling upgrade."
+ },
+ "ScaleInPolicy": {
+ "properties": {
+ "rules": {
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "Default",
+ "OldestVM",
+ "NewestVM"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineScaleSetScaleInRules",
+ "modelAsString": true
+ }
+ },
+ "description": "The rules to be followed when scaling-in a virtual machine scale set.
Possible values are:
**Default** When a virtual machine scale set is scaled in, the scale set will first be balanced across zones if it is a zonal scale set. Then, it will be balanced across Fault Domains as far as possible. Within each Fault Domain, the virtual machines chosen for removal will be the newest ones that are not protected from scale-in.
**OldestVM** When a virtual machine scale set is being scaled-in, the oldest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the oldest virtual machines that are not protected will be chosen for removal.
**NewestVM** When a virtual machine scale set is being scaled-in, the newest virtual machines that are not protected from scale-in will be chosen for removal. For zonal virtual machine scale sets, the scale set will first be balanced across zones. Within each zone, the newest virtual machines that are not protected will be chosen for removal.
"
+ }
+ },
+ "description": "Describes a scale-in policy for a virtual machine scale set."
+ },
+ "ImageOSDisk": {
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from a custom image.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "osState": {
+ "type": "string",
+ "description": "The OS State.",
+ "enum": [
+ "Generalized",
+ "Specialized"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemStateTypes",
+ "modelAsString": false,
+ "values": [
+ {
+ "value": "Generalized",
+ "description": "Generalized image. Needs to be provisioned during deployment time."
+ },
+ {
+ "value": "Specialized",
+ "description": "Specialized image. Contains already provisioned OS Disk."
+ }
+ ]
+ }
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImageDisk"
+ }
+ ],
+ "required": [
+ "osType",
+ "osState"
+ ],
+ "description": "Describes an Operating System disk."
+ },
+ "ImageDataDisk": {
+ "properties": {
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ImageDisk"
+ }
+ ],
+ "required": [
+ "lun"
+ ],
+ "description": "Describes a data disk."
+ },
+ "ImageDisk": {
+ "properties": {
+ "snapshot": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The snapshot."
+ },
+ "managedDisk": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The managedDisk."
+ },
+ "blobUri": {
+ "type": "string",
+ "description": "The Virtual Hard Disk."
+ },
+ "caching": {
+ "type": "string",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**",
+ "enum": [
+ "None",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "x-ms-enum": {
+ "name": "CachingTypes",
+ "modelAsString": false
+ }
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of empty data disks in gigabytes. This element can be used to overwrite the name of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "storageAccountType": {
+ "$ref": "#/definitions/StorageAccountType",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
+ },
+ "diskEncryptionSet": {
+ "$ref": "#/definitions/DiskEncryptionSetParameters",
+ "description": "Specifies the customer managed disk encryption set resource id for the managed image disk."
+ }
+ },
+ "description": "Describes a image disk."
+ },
+ "ImageStorageProfile": {
+ "properties": {
+ "osDisk": {
+ "$ref": "#/definitions/ImageOSDisk",
+ "description": "Specifies information about the operating system disk used by the virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ImageDataDisk"
+ },
+ "description": "Specifies the parameters that are used to add a data disk to a virtual machine.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "zoneResilient": {
+ "type": "boolean",
+ "description": "Specifies whether an image is zone resilient or not. Default is false. Zone resilient images can be created only in regions that provide Zone Redundant Storage (ZRS)."
+ }
+ },
+ "description": "Describes a storage profile."
+ },
+ "ImageProperties": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The source virtual machine from which Image is created."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ImageStorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state."
+ },
+ "hyperVGeneration": {
+ "$ref": "#/definitions/HyperVGenerationType",
+ "description": "Gets the HyperVGenerationType of the VirtualMachine created from the image"
+ }
+ },
+ "description": "Describes the properties of an Image."
+ },
+ "Image": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "The source user image virtual hard disk. The virtual hard disk will be copied before being attached to the virtual machine. If SourceImage is provided, the destination virtual hard drive must not exist."
+ },
+ "ImageUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ImageProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "The source user image virtual hard disk. Only tags may be updated."
+ },
+ "ImageListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Image"
+ },
+ "description": "The list of Images."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Images. Call ListNext() with this to fetch the next page of Images."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Image operation response."
+ },
+ "VirtualMachineScaleSetIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of virtual machine scale set identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the virtual machine scale set. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the virtual machine scale set. The type 'SystemAssigned, UserAssigned' includes both an implicitly created identity and a set of user assigned identities. The type 'None' will remove any identities from the virtual machine scale set.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of user assigned identity."
+ },
+ "clientId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The client id of user assigned identity."
+ }
+ }
+ },
+ "description": "The list of user identities associated with the virtual machine scale set. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'."
+ }
+ },
+ "description": "Identity for the virtual machine scale set."
+ },
+ "VirtualMachineScaleSetOSProfile": {
+ "properties": {
+ "computerNamePrefix": {
+ "type": "string",
+ "description": "Specifies the computer name prefix for all of the virtual machines in the scale set. Computer name prefixes must be 1 to 15 characters long."
+ },
+ "adminUsername": {
+ "type": "string",
+ "description": "Specifies the name of the administrator account.
**Windows-only restriction:** Cannot end in \".\"
**Disallowed values:** \"administrator\", \"admin\", \"user\", \"user1\", \"test\", \"user2\", \"test1\", \"user3\", \"admin1\", \"1\", \"123\", \"a\", \"actuser\", \"adm\", \"admin2\", \"aspnet\", \"backup\", \"console\", \"david\", \"guest\", \"john\", \"owner\", \"root\", \"server\", \"sql\", \"support\", \"support_388945a0\", \"sys\", \"test2\", \"test3\", \"user4\", \"user5\".
**Minimum-length (Linux):** 1 character
**Max-length (Linux):** 64 characters
**Max-length (Windows):** 20 characters
For root access to the Linux VM, see [Using root privileges on Linux virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-use-root-privileges?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For a list of built-in system users on Linux that should not be used in this field, see [Selecting User Names for Linux on Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-usernames?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "Specifies the password of the administrator account.
**Minimum-length (Windows):** 8 characters
**Minimum-length (Linux):** 6 characters
**Max-length (Windows):** 123 characters
**Max-length (Linux):** 72 characters
**Complexity requirements:** 3 out of 4 conditions below need to be fulfilled
Has lower characters
Has upper characters
Has a digit
Has a special character (Regex match [\\W_])
**Disallowed values:** \"abc@123\", \"P@$$w0rd\", \"P@ssw0rd\", \"P@ssword123\", \"Pa$$word\", \"pass@word1\", \"Password!\", \"Password1\", \"Password22\", \"iloveyou!\"
For resetting the password, see [How to reset the Remote Desktop service or its login password in a Windows VM](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-reset-rdp?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
For resetting root password, see [Manage users, SSH, and check or repair disks on Azure Linux VMs using the VMAccess Extension](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-vmaccess-extension?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json#reset-root-password)"
+ },
+ "customData": {
+ "type": "string",
+ "description": "Specifies a base-64 encoded string of custom data. The base-64 encoded string is decoded to a binary array that is saved as a file on the Virtual Machine. The maximum length of the binary array is 65535 bytes.
For using cloud-init for your VM, see [Using cloud-init to customize a Linux VM during creation](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-using-cloud-init?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)"
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "description": "Specifies Windows operating system settings on the virtual machine."
+ },
+ "linuxConfiguration": {
+ "$ref": "#/definitions/LinuxConfiguration",
+ "description": "Specifies the Linux operating system settings on the virtual machine.
For a list of supported Linux distributions, see [Linux on Azure-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-endorsed-distros?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)
For running non-endorsed distributions, see [Information for Non-Endorsed Distributions](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-linux-create-upload-generic?toc=%2fazure%2fvirtual-machines%2flinux%2ftoc.json)."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "Specifies set of certificates that should be installed onto the virtual machines in the scale set."
+ }
+ },
+ "description": "Describes a virtual machine scale set OS profile."
+ },
+ "VirtualMachineScaleSetUpdateOSProfile": {
+ "properties": {
+ "customData": {
+ "type": "string",
+ "description": "A base-64 encoded string of custom data."
+ },
+ "windowsConfiguration": {
+ "$ref": "#/definitions/WindowsConfiguration",
+ "description": "The Windows Configuration of the OS profile."
+ },
+ "linuxConfiguration": {
+ "$ref": "#/definitions/LinuxConfiguration",
+ "description": "The Linux Configuration of the OS profile."
+ },
+ "secrets": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VaultSecretGroup"
+ },
+ "description": "The List of certificates for addition to the VM."
+ }
+ },
+ "description": "Describes a virtual machine scale set OS profile."
+ },
+ "VirtualMachineScaleSetManagedDiskParameters": {
+ "properties": {
+ "storageAccountType": {
+ "$ref": "#/definitions/StorageAccountType",
+ "description": "Specifies the storage account type for the managed disk. NOTE: UltraSSD_LRS can only be used with data disks, it cannot be used with OS Disk."
+ },
+ "diskEncryptionSet": {
+ "$ref": "#/definitions/DiskEncryptionSetParameters",
+ "description": "Specifies the customer managed disk encryption set resource id for the managed disk."
+ }
+ },
+ "description": "Describes the parameters of a ScaleSet managed disk."
+ },
+ "VirtualMachineScaleSetOSDisk": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "Specifies how the virtual machines in the scale set should be created.
The only allowed value is: **FromImage** \\u2013 This value is used when you are using an image to create the virtual machine. If you are using a platform image, you also use the imageReference element described above. If you are using a marketplace image, you also use the plan element previously described."
+ },
+ "diffDiskSettings": {
+ "$ref": "#/definitions/DiffDiskSettings",
+ "description": "Specifies the ephemeral disk Settings for the operating system disk used by the virtual machine scale set."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "osType": {
+ "type": "string",
+ "description": "This property allows you to specify the type of the OS that is included in the disk if creating a VM from user-image or a specialized VHD.
Possible values are:
**Windows**
**Linux**",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "Specifies information about the unmanaged user image to base the scale set on."
+ },
+ "vhdContainers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Specifies the container urls that are used to store operating system disks for the scale set."
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters"
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Describes a virtual machine scale set operating system disk."
+ },
+ "VirtualMachineScaleSetUpdateOSDisk": {
+ "properties": {
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "The caching type."
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of the operating system disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "image": {
+ "$ref": "#/definitions/VirtualHardDisk",
+ "description": "The Source User Image VirtualHardDisk. This VirtualHardDisk will be copied before using it to attach to the Virtual Machine. If SourceImage is provided, the destination VirtualHardDisk should not exist."
+ },
+ "vhdContainers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The list of virtual hard disk container uris."
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters"
+ }
+ },
+ "description": "Describes virtual machine scale set operating system disk Update Object. This should be used for Updating VMSS OS Disk."
+ },
+ "VirtualMachineScaleSetDataDisk": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The disk name."
+ },
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM."
+ },
+ "caching": {
+ "$ref": "#/definitions/Caching",
+ "description": "Specifies the caching requirements.
Possible values are:
**None**
**ReadOnly**
**ReadWrite**
Default: **None for Standard storage. ReadOnly for Premium storage**"
+ },
+ "writeAcceleratorEnabled": {
+ "type": "boolean",
+ "description": "Specifies whether writeAccelerator should be enabled or disabled on the disk."
+ },
+ "createOption": {
+ "$ref": "#/definitions/CreateOption",
+ "description": "The create option."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Specifies the size of an empty data disk in gigabytes. This element can be used to overwrite the size of the disk in a virtual machine image.
This value cannot be larger than 1023 GB"
+ },
+ "managedDisk": {
+ "description": "The managed disk parameters.",
+ "$ref": "#/definitions/VirtualMachineScaleSetManagedDiskParameters"
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Specifies the Read-Write IOPS for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Specifies the bandwidth in MB per second for the managed disk. Should be used only when StorageAccountType is UltraSSD_LRS. If not specified, a default value would be assigned based on diskSizeGB."
+ }
+ },
+ "required": [
+ "lun",
+ "createOption"
+ ],
+ "description": "Describes a virtual machine scale set data disk."
+ },
+ "VirtualMachineScaleSetStorageProfile": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "description": "Specifies information about the image to use. You can specify information about platform images, marketplace images, or virtual machine images. This element is required when you want to use a platform image, marketplace image, or virtual machine image, but is not used in other creation operations."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/VirtualMachineScaleSetOSDisk",
+ "description": "Specifies information about the operating system disk used by the virtual machines in the scale set.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetDataDisk"
+ },
+ "description": "Specifies the parameters that are used to add data disks to the virtual machines in the scale set.
For more information about disks, see [About disks and VHDs for Azure virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-about-disks-vhds?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)."
+ }
+ },
+ "description": "Describes a virtual machine scale set storage profile."
+ },
+ "VirtualMachineScaleSetUpdateStorageProfile": {
+ "properties": {
+ "imageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "description": "The image reference."
+ },
+ "osDisk": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateOSDisk",
+ "description": "The OS disk."
+ },
+ "dataDisks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetDataDisk"
+ },
+ "description": "The data disks."
+ }
+ },
+ "description": "Describes a virtual machine scale set storage profile."
+ },
+ "ApiEntityReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The ARM resource id in the form of /subscriptions/{SubscriptionId}/resourceGroups/{ResourceGroupName}/..."
+ }
+ },
+ "description": "The API entity reference."
+ },
+ "VirtualMachineScaleSetIPConfigurationProperties": {
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "Specifies the identifier of the subnet."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfiguration",
+ "description": "The publicIPAddressConfiguration."
+ },
+ "privateIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of application gateways. A scale set can reference backend address pools of multiple application gateways. Multiple scale sets cannot use the same application gateway."
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to application security group."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to backend address pools of load balancers. A scale set can reference backend address pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer."
+ },
+ "loadBalancerInboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to inbound Nat pools of the load balancers. A scale set can reference inbound nat pools of one public and one internal load balancer. Multiple scale sets cannot use the same basic sku load balancer."
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile's IP configuration properties."
+ },
+ "VirtualMachineScaleSetUpdateIPConfigurationProperties": {
+ "properties": {
+ "subnet": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "The subnet."
+ },
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary IP Configuration in case the network interface has more than one IP Configuration."
+ },
+ "publicIPAddressConfiguration": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdatePublicIPAddressConfiguration",
+ "description": "The publicIPAddressConfiguration."
+ },
+ "privateIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2017-03-30 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ },
+ "applicationGatewayBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "The application gateway backend address pools."
+ },
+ "applicationSecurityGroups": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "Specifies an array of references to application security group."
+ },
+ "loadBalancerBackendAddressPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "The load balancer backend address pools."
+ },
+ "loadBalancerInboundNatPools": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SubResource"
+ },
+ "description": "The load balancer inbound nat pools."
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile's IP configuration properties."
+ },
+ "VirtualMachineScaleSetIPConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetIPConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's IP configuration."
+ },
+ "VirtualMachineScaleSetUpdateIPConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The IP configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateIPConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's IP configuration. NOTE: The subnet of a scale set may be modified as long as the original subnet and the new subnet are in the same virtual network"
+ },
+ "VirtualMachineScaleSetNetworkConfigurationProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Specifies the primary network interface in case the virtual machine has more than 1 network interface."
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is accelerated networking-enabled."
+ },
+ "networkSecurityGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The network security group."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the network interfaces."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIPConfiguration"
+ },
+ "description": "Specifies the IP configurations of the network interface."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Whether IP forwarding enabled on this NIC."
+ }
+ },
+ "required": [
+ "ipConfigurations"
+ ],
+ "description": "Describes a virtual machine scale set network profile's IP configuration."
+ },
+ "VirtualMachineScaleSetUpdateNetworkConfigurationProperties": {
+ "properties": {
+ "primary": {
+ "type": "boolean",
+ "description": "Whether this is a primary NIC on a virtual machine."
+ },
+ "enableAcceleratedNetworking": {
+ "type": "boolean",
+ "description": "Specifies whether the network interface is accelerated networking-enabled."
+ },
+ "networkSecurityGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The network security group."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the network interfaces."
+ },
+ "ipConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateIPConfiguration"
+ },
+ "description": "The virtual machine scale set IP Configuration."
+ },
+ "enableIPForwarding": {
+ "type": "boolean",
+ "description": "Whether IP forwarding enabled on this NIC."
+ }
+ },
+ "description": "Describes a virtual machine scale set updatable network profile's IP configuration.Use this object for updating network profile's IP Configuration."
+ },
+ "VirtualMachineScaleSetNetworkConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The network configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's network configurations."
+ },
+ "VirtualMachineScaleSetUpdateNetworkConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The network configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkConfigurationProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set network profile's network configurations."
+ },
+ "VirtualMachineScaleSetNetworkConfigurationDnsSettings": {
+ "properties": {
+ "dnsServers": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of DNS servers IP addresses"
+ }
+ },
+ "description": "Describes a virtual machines scale sets network configuration's DNS settings."
+ },
+ "VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings": {
+ "properties": {
+ "domainNameLabel": {
+ "type": "string",
+ "description": "The Domain name label.The concatenation of the domain name label and vm index will be the domain name labels of the PublicIPAddress resources that will be created"
+ }
+ },
+ "required": [
+ "domainNameLabel"
+ ],
+ "description": "Describes a virtual machines scale sets network configuration's DNS settings."
+ },
+ "VirtualMachineScaleSetIpTag": {
+ "properties": {
+ "ipTagType": {
+ "type": "string",
+ "description": "IP tag type. Example: FirstPartyUsage."
+ },
+ "tag": {
+ "type": "string",
+ "description": "IP tag associated with the public IP. Example: SQL, Storage etc."
+ }
+ },
+ "description": "Contains the IP tag associated with the public IP address."
+ },
+ "VirtualMachineScaleSetPublicIPAddressConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The publicIP address configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationProperties"
+ }
+ },
+ "required": [
+ "name"
+ ],
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetUpdatePublicIPAddressConfiguration": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The publicIP address configuration name."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties"
+ }
+ },
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetPublicIPAddressConfigurationProperties": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the publicIP addresses ."
+ },
+ "ipTags": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIpTag"
+ },
+ "description": "The list of IP tags associated with the public IP address."
+ },
+ "publicIPPrefix": {
+ "$ref": "#/definitions/SubResource",
+ "description": "The PublicIPPrefix from which to allocate publicIP addresses."
+ },
+ "publicIPAddressVersion": {
+ "type": "string",
+ "description": "Available from Api-Version 2019-07-01 onwards, it represents whether the specific ipconfiguration is IPv4 or IPv6. Default is taken as IPv4. Possible values are: 'IPv4' and 'IPv6'.",
+ "enum": [
+ "IPv4",
+ "IPv6"
+ ],
+ "x-ms-enum": {
+ "name": "IPVersion",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetUpdatePublicIPAddressConfigurationProperties": {
+ "properties": {
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The idle timeout of the public IP address."
+ },
+ "dnsSettings": {
+ "$ref": "#/definitions/VirtualMachineScaleSetPublicIPAddressConfigurationDnsSettings",
+ "description": "The dns settings to be applied on the publicIP addresses ."
+ }
+ },
+ "description": "Describes a virtual machines scale set IP Configuration's PublicIPAddress configuration"
+ },
+ "VirtualMachineScaleSetNetworkProfile": {
+ "properties": {
+ "healthProbe": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'."
+ },
+ "networkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration"
+ },
+ "description": "The list of network configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile."
+ },
+ "VirtualMachineScaleSetUpdateNetworkProfile": {
+ "properties": {
+ "healthProbe": {
+ "$ref": "#/definitions/ApiEntityReference",
+ "description": "A reference to a load balancer probe used to determine the health of an instance in the virtual machine scale set. The reference will be in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/loadBalancers/{loadBalancerName}/probes/{probeName}'."
+ },
+ "networkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkConfiguration"
+ },
+ "description": "The list of network configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set network profile."
+ },
+ "VirtualMachineScaleSetExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "If a value is provided and is different from the previous value, the extension handler will be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "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."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "provisionAfterExtensions": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Collection of extension names after which this extension needs to be provisioned."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Scale Set Extension."
+ },
+ "VirtualMachineScaleSetExtension": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set Extension."
+ },
+ "VirtualMachineScaleSetExtensionUpdate": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the extension."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResourceReadOnly"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set Extension."
+ },
+ "VirtualMachineScaleSetExtensionListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ },
+ "description": "The list of VM scale set extensions."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of VM scale set extensions. Call ListNext() with this to fetch the next page of VM scale set extensions."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List VM scale set extension operation response."
+ },
+ "VirtualMachineScaleSetExtensionProfile": {
+ "properties": {
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtension"
+ },
+ "description": "The virtual machine scale set child extension resources."
+ },
+ "extensionsTimeBudget": {
+ "type": "string",
+ "description": "Specifies the time alloted for all extensions to start. The time duration should be between 15 minutes and 120 minutes (inclusive) and should be specified in ISO 8601 format. The default value is 90 minutes (PT1H30M).
Minimum api-version: 2020-06-01"
+ }
+ },
+ "description": "Describes a virtual machine scale set extension profile."
+ },
+ "VirtualMachineScaleSetVMProfile": {
+ "properties": {
+ "osProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetOSProfile",
+ "description": "Specifies the operating system settings for the virtual machines in the scale set."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetStorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkProfile",
+ "description": "Specifies properties of the network interfaces of the virtual machines in the scale set."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "Specifies the Security related profile settings for the virtual machines in the scale set."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "extensionProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile",
+ "description": "Specifies a collection of settings for extensions installed on virtual machines in the scale set."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.
Possible values are:
Windows_Client
Windows_Server
If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Minimum api-version: 2015-06-15"
+ },
+ "priority": {
+ "$ref": "#/definitions/priority",
+ "description": "Specifies the priority for the virtual machines in the scale set.
Minimum api-version: 2017-10-30-preview"
+ },
+ "evictionPolicy": {
+ "$ref": "#/definitions/evictionPolicy",
+ "description": "Specifies the eviction policy for the Azure Spot virtual machine and Azure Spot scale set.
For Azure Spot virtual machines, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2019-03-01.
For Azure Spot scale sets, both 'Deallocate' and 'Delete' are supported and the minimum api-version is 2017-10-30-preview."
+ },
+ "billingProfile": {
+ "$ref": "#/definitions/BillingProfile",
+ "description": "Specifies the billing related details of a Azure Spot VMSS.
Minimum api-version: 2019-03-01."
+ },
+ "scheduledEventsProfile": {
+ "$ref": "#/definitions/ScheduledEventsProfile",
+ "description": "Specifies Scheduled Event related configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set virtual machine profile."
+ },
+ "VirtualMachineScaleSetUpdateVMProfile": {
+ "properties": {
+ "osProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateOSProfile",
+ "description": "The virtual machine scale set OS profile."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateStorageProfile",
+ "description": "The virtual machine scale set storage profile."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateNetworkProfile",
+ "description": "The virtual machine scale set network profile."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "The virtual machine scale set Security profile"
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "The virtual machine scale set diagnostics profile."
+ },
+ "extensionProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetExtensionProfile",
+ "description": "The virtual machine scale set extension profile."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "The license type, which is for bring your own license scenario."
+ },
+ "billingProfile": {
+ "$ref": "#/definitions/BillingProfile",
+ "description": "Specifies the billing related details of a Azure Spot VMSS.
Minimum api-version: 2019-03-01."
+ },
+ "scheduledEventsProfile": {
+ "$ref": "#/definitions/ScheduledEventsProfile",
+ "description": "Specifies Scheduled Event related configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set virtual machine profile."
+ },
+ "VirtualMachineScaleSetProperties": {
+ "properties": {
+ "upgradePolicy": {
+ "$ref": "#/definitions/UpgradePolicy",
+ "description": "The upgrade policy."
+ },
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
+ "virtualMachineProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMProfile",
+ "description": "The virtual machine profile."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "overprovision": {
+ "type": "boolean",
+ "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned."
+ },
+ "doNotRunExtensionsOnOverprovisionedVMs": {
+ "type": "boolean",
+ "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs."
+ },
+ "uniqueId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the ID which uniquely identifies a Virtual Machine Scale Set."
+ },
+ "singlePlacementGroup": {
+ "type": "boolean",
+ "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true."
+ },
+ "zoneBalance": {
+ "type": "boolean",
+ "description": "Whether to force strictly even Virtual Machine distribution cross x-zones in case there is zone outage."
+ },
+ "platformFaultDomainCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Fault Domain count for each placement group."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
+ },
+ "hostGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the dedicated host group that the virtual machine scale set resides in.
Minimum api-version: 2020-06-01."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
+ },
+ "scaleInPolicy": {
+ "$ref": "#/definitions/ScaleInPolicy",
+ "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSetUpdateProperties": {
+ "properties": {
+ "upgradePolicy": {
+ "$ref": "#/definitions/UpgradePolicy",
+ "description": "The upgrade policy."
+ },
+ "automaticRepairsPolicy": {
+ "$ref": "#/definitions/AutomaticRepairsPolicy",
+ "description": "Policy for automatic repairs."
+ },
+ "virtualMachineProfile": {
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateVMProfile",
+ "description": "The virtual machine profile."
+ },
+ "overprovision": {
+ "type": "boolean",
+ "description": "Specifies whether the Virtual Machine Scale Set should be overprovisioned."
+ },
+ "doNotRunExtensionsOnOverprovisionedVMs": {
+ "type": "boolean",
+ "description": "When Overprovision is enabled, extensions are launched only on the requested number of VMs which are finally kept. This property will hence ensure that the extensions do not run on the extra overprovisioned VMs."
+ },
+ "singlePlacementGroup": {
+ "type": "boolean",
+ "description": "When true this limits the scale set to a single placement group, of max size 100 virtual machines. NOTE: If singlePlacementGroup is true, it may be modified to false. However, if singlePlacementGroup is false, it may not be modified to true."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the Virtual Machines in the Virtual Machine Scale Set. For instance: whether the Virtual Machines have the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
+ },
+ "scaleInPolicy": {
+ "$ref": "#/definitions/ScaleInPolicy",
+ "description": "Specifies the scale-in policy that decides which virtual machines are chosen for removal when a Virtual Machine Scale Set is scaled-in."
+ },
+ "proximityPlacementGroup": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the proximity placement group that the virtual machine scale set should be assigned to.
Minimum api-version: 2018-04-01."
+ }
+ },
+ "description": "Describes the properties of a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSet": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The virtual machine scale set sku."
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIdentity",
+ "description": "The identity of the virtual machine scale set, if configured."
+ },
+ "zones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set zones. NOTE: Availability zones can only be set when you create the scale set"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSetVMReimageParameters": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineReimageParameters"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set VM Reimage Parameters."
+ },
+ "VirtualMachineScaleSetReimageParameters": {
+ "properties": {
+ "instanceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMReimageParameters"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set VM Reimage Parameters."
+ },
+ "VirtualMachineScaleSetUpdate": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The virtual machine scale set sku."
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "The purchase plan when deploying a virtual machine scale set from VM Marketplace images."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetUpdateProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/VirtualMachineScaleSetIdentity",
+ "description": "The identity of the virtual machine scale set, if configured."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Virtual Machine Scale Set."
+ },
+ "VirtualMachineScaleSetVMInstanceIDs": {
+ "properties": {
+ "instanceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set instance ids. Omitting the virtual machine scale set instance ids will result in the operation being performed on all virtual machines in the virtual machine scale set."
+ }
+ },
+ "description": "Specifies a list of virtual machine instance IDs from the VM scale set."
+ },
+ "VirtualMachineScaleSetVMInstanceRequiredIDs": {
+ "properties": {
+ "instanceIds": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine scale set instance ids."
+ }
+ },
+ "required": [
+ "instanceIds"
+ ],
+ "description": "Specifies a list of virtual machine instance IDs from the VM scale set."
+ },
+ "VirtualMachineStatusCodeCount": {
+ "properties": {
+ "code": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The instance view status code."
+ },
+ "count": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances having a particular status code."
+ }
+ },
+ "description": "The status code and count of the virtual machine scale set instance view status summary."
+ },
+ "VirtualMachineScaleSetInstanceViewStatusesSummary": {
+ "properties": {
+ "statusesSummary": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineStatusCodeCount"
+ },
+ "description": "The extensions information."
+ }
+ },
+ "description": "Instance view statuses summary for virtual machines of a virtual machine scale set."
+ },
+ "VirtualMachineScaleSetVMExtensionsSummary": {
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The extension name."
+ },
+ "statusesSummary": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineStatusCodeCount"
+ },
+ "description": "The extensions information."
+ }
+ },
+ "description": "Extensions summary for virtual machines of a virtual machine scale set."
+ },
+ "OrchestrationServiceSummary": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the service.",
+ "enum": [
+ "AutomaticRepairs"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationServiceNames",
+ "modelAsString": true
+ }
+ },
+ "serviceState": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current state of the service.",
+ "enum": [
+ "NotRunning",
+ "Running",
+ "Suspended"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationServiceState",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "Summary for an orchestration service of a virtual machine scale set."
+ },
+ "VirtualMachineScaleSetInstanceView": {
+ "properties": {
+ "virtualMachine": {
+ "$ref": "#/definitions/VirtualMachineScaleSetInstanceViewStatusesSummary",
+ "readOnly": true,
+ "description": "The instance view status summary for the virtual machine scale set."
+ },
+ "extensions": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMExtensionsSummary"
+ },
+ "description": "The extensions information."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "orchestrationServices": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrchestrationServiceSummary"
+ },
+ "description": "The orchestration services information."
+ }
+ },
+ "description": "The instance view of a virtual machine scale set."
+ },
+ "VirtualMachineScaleSetListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
+ "description": "The list of virtual machine scale sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of VMSS."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "VirtualMachineScaleSetListWithLinkResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSet"
+ },
+ "description": "The list of virtual machine scale sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Sets. Call ListNext() with this to fetch the next page of Virtual Machine Scale Sets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "VirtualMachineScaleSetSkuCapacity": {
+ "properties": {
+ "minimum": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The minimum capacity."
+ },
+ "maximum": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The maximum capacity that can be set."
+ },
+ "defaultCapacity": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int64",
+ "description": "The default capacity."
+ },
+ "scaleType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The scale type applicable to the sku.",
+ "enum": [
+ "Automatic",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "VirtualMachineScaleSetSkuScaleType",
+ "modelAsString": false
+ }
+ }
+ },
+ "description": "Describes scaling information of a sku."
+ },
+ "VirtualMachineScaleSetSku": {
+ "properties": {
+ "resourceType": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The type of resource the sku applies to."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "readOnly": true,
+ "description": "The Sku."
+ },
+ "capacity": {
+ "$ref": "#/definitions/VirtualMachineScaleSetSkuCapacity",
+ "readOnly": true,
+ "description": "Specifies the number of virtual machines in the scale set."
+ }
+ },
+ "description": "Describes an available virtual machine scale set sku."
+ },
+ "VirtualMachineScaleSetListSkusResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetSku"
+ },
+ "description": "The list of skus available for the virtual machine scale set."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Set Skus. Call ListNext() with this to fetch the next page of VMSS Skus."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The Virtual Machine Scale Set List Skus operation response."
+ },
+ "RollbackStatusInfo": {
+ "properties": {
+ "successfullyRolledbackInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances which have been successfully rolled back."
+ },
+ "failedRolledbackInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances which failed to rollback."
+ },
+ "rollbackError": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "Error details if OS rollback failed."
+ }
+ },
+ "description": "Information about rollback on failed VM instances after a OS Upgrade operation."
+ },
+ "UpgradeOperationHistoryStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Code indicating the current status of the upgrade.",
+ "enum": [
+ "RollingForward",
+ "Cancelled",
+ "Completed",
+ "Faulted"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeState",
+ "modelAsString": false
+ }
+ },
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of the upgrade."
+ },
+ "endTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "End time of the upgrade."
+ }
+ },
+ "description": "Information about the current running state of the overall upgrade."
+ },
+ "UpgradeOperationHistoricalStatusInfoProperties": {
+ "properties": {
+ "runningStatus": {
+ "$ref": "#/definitions/UpgradeOperationHistoryStatus",
+ "readOnly": true,
+ "description": "Information about the overall status of the upgrade operation."
+ },
+ "progress": {
+ "$ref": "#/definitions/RollingUpgradeProgressInfo",
+ "readOnly": true,
+ "description": "Counts of the VMs in each state."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "Error Details for this upgrade if there are any."
+ },
+ "startedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Invoker of the Upgrade Operation",
+ "enum": [
+ "Unknown",
+ "User",
+ "Platform"
+ ],
+ "x-ms-enum": {
+ "name": "UpgradeOperationInvoker",
+ "modelAsString": false
+ }
+ },
+ "targetImageReference": {
+ "$ref": "#/definitions/ImageReference",
+ "readOnly": true,
+ "description": "Image Reference details"
+ },
+ "rollbackInfo": {
+ "$ref": "#/definitions/RollbackStatusInfo",
+ "readOnly": true,
+ "description": "Information about OS rollback if performed"
+ }
+ },
+ "description": "Describes each OS upgrade on the Virtual Machine Scale Set."
+ },
+ "UpgradeOperationHistoricalStatusInfo": {
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpgradeOperationHistoricalStatusInfoProperties",
+ "readOnly": true,
+ "description": "Information about the properties of the upgrade operation."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource location"
+ }
+ },
+ "description": "Virtual Machine Scale Set OS Upgrade History operation response."
+ },
+ "VirtualMachineScaleSetListOSUpgradeHistory": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UpgradeOperationHistoricalStatusInfo"
+ },
+ "description": "The list of OS upgrades performed on the virtual machine scale set."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of OS Upgrade History. Call ListNext() with this to fetch the next page of history of upgrades."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "List of Virtual Machine Scale Set OS Upgrade History operation response."
+ },
+ "VirtualMachineScaleSetVMProperties": {
+ "properties": {
+ "latestModelApplied": {
+ "readOnly": true,
+ "type": "boolean",
+ "description": "Specifies whether the latest model has been applied to the virtual machine."
+ },
+ "vmId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure VM unique ID."
+ },
+ "instanceView": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMInstanceView",
+ "readOnly": true,
+ "description": "The virtual machine instance view."
+ },
+ "hardwareProfile": {
+ "$ref": "#/definitions/HardwareProfile",
+ "description": "Specifies the hardware settings for the virtual machine."
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/StorageProfile",
+ "description": "Specifies the storage settings for the virtual machine disks."
+ },
+ "additionalCapabilities": {
+ "$ref": "#/definitions/AdditionalCapabilities",
+ "description": "Specifies additional capabilities enabled or disabled on the virtual machine in the scale set. For instance: whether the virtual machine has the capability to support attaching managed data disks with UltraSSD_LRS storage account type."
+ },
+ "osProfile": {
+ "$ref": "#/definitions/OSProfile",
+ "description": "Specifies the operating system settings for the virtual machine."
+ },
+ "securityProfile": {
+ "$ref": "#/definitions/SecurityProfile",
+ "description": "Specifies the Security related profile settings for the virtual machine."
+ },
+ "networkProfile": {
+ "$ref": "#/definitions/NetworkProfile",
+ "description": "Specifies the network interfaces of the virtual machine."
+ },
+ "networkProfileConfiguration": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMNetworkProfileConfiguration",
+ "description": "Specifies the network profile configuration of the virtual machine."
+ },
+ "diagnosticsProfile": {
+ "$ref": "#/definitions/DiagnosticsProfile",
+ "description": "Specifies the boot diagnostic settings state.
Minimum api-version: 2015-06-15."
+ },
+ "availabilitySet": {
+ "$ref": "#/definitions/SubResource",
+ "description": "Specifies information about the availability set that the virtual machine should be assigned to. Virtual machines specified in the same availability set are allocated to different nodes to maximize availability. For more information about availability sets, see [Manage the availability of virtual machines](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-manage-availability?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json).
For more information on Azure planned maintenance, see [Planned maintenance for virtual machines in Azure](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-planned-maintenance?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Currently, a VM can only be added to availability set at creation time. An existing VM cannot be added to an availability set."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "licenseType": {
+ "type": "string",
+ "description": "Specifies that the image or disk that is being used was licensed on-premises. This element is only used for images that contain the Windows Server operating system.
Possible values are:
Windows_Client
Windows_Server
If this element is included in a request for an update, the value must match the initial value. This value cannot be updated.
For more information, see [Azure Hybrid Use Benefit for Windows Server](https://docs.microsoft.com/azure/virtual-machines/virtual-machines-windows-hybrid-use-benefit-licensing?toc=%2fazure%2fvirtual-machines%2fwindows%2ftoc.json)
Minimum api-version: 2015-06-15"
+ },
+ "modelDefinitionApplied": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies whether the model applied to the virtual machine is the model of the virtual machine scale set or the customized model for the virtual machine."
+ },
+ "protectionPolicy": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVMProtectionPolicy",
+ "description": "Specifies the protection policy of the virtual machine."
+ }
+ },
+ "description": "Describes the properties of a virtual machine scale set virtual machine."
+ },
+ "VirtualMachineScaleSetVM": {
+ "properties": {
+ "instanceId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The virtual machine instance ID."
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "readOnly": true,
+ "description": "The virtual machine SKU."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/VirtualMachineScaleSetVMProperties"
+ },
+ "plan": {
+ "$ref": "#/definitions/Plan",
+ "description": "Specifies information about the marketplace image used to create the virtual machine. This element is only used for marketplace images. Before you can use a marketplace image from an API, you must enable the image for programmatic use. In the Azure portal, find the marketplace image that you want to use and then click **Want to deploy programmatically, Get Started ->**. Enter any required information and then click **Save**."
+ },
+ "resources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtension"
+ },
+ "description": "The virtual machine child extension resources."
+ },
+ "zones": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The virtual machine zones."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Describes a virtual machine scale set virtual machine."
+ },
+ "VirtualMachineScaleSetVMInstanceView": {
+ "properties": {
+ "platformUpdateDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Update Domain count."
+ },
+ "platformFaultDomain": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The Fault Domain count."
+ },
+ "rdpThumbPrint": {
+ "type": "string",
+ "description": "The Remote desktop certificate thumbprint."
+ },
+ "vmAgent": {
+ "$ref": "#/definitions/VirtualMachineAgentInstanceView",
+ "description": "The VM Agent running on the virtual machine."
+ },
+ "maintenanceRedeployStatus": {
+ "$ref": "#/definitions/MaintenanceRedeployStatus",
+ "description": "The Maintenance Operation status on the virtual machine."
+ },
+ "disks": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskInstanceView"
+ },
+ "description": "The disks information."
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineExtensionInstanceView"
+ },
+ "description": "The extensions information."
+ },
+ "vmHealth": {
+ "readOnly": true,
+ "$ref": "#/definitions/VirtualMachineHealthStatus",
+ "description": "The health status for the VM."
+ },
+ "bootDiagnostics": {
+ "$ref": "#/definitions/BootDiagnosticsInstanceView",
+ "description": "Boot Diagnostics is a debugging feature which allows you to view Console Output and Screenshot to diagnose VM status.
You can easily view the output of your console log.
Azure also enables you to see a screenshot of the VM from the hypervisor."
+ },
+ "statuses": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "The resource status information."
+ },
+ "assignedHost": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource id of the dedicated host, on which the virtual machine is allocated through automatic placement, when the virtual machine is associated with a dedicated host group that has automatic placement enabled.
Minimum api-version: 2020-06-01."
+ },
+ "placementGroupId": {
+ "type": "string",
+ "description": "The placement group in which the VM is running. If the VM is deallocated it will not have a placementGroupId."
+ }
+ },
+ "description": "The instance view of a virtual machine scale set VM."
+ },
+ "VirtualMachineScaleSetVMNetworkProfileConfiguration": {
+ "properties": {
+ "networkInterfaceConfigurations": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetNetworkConfiguration"
+ },
+ "description": "The list of network configurations."
+ }
+ },
+ "description": "Describes a virtual machine scale set VM network profile."
+ },
+ "VirtualMachineScaleSetVMProtectionPolicy": {
+ "properties": {
+ "protectFromScaleIn": {
+ "type": "boolean",
+ "description": "Indicates that the virtual machine scale set VM shouldn't be considered for deletion during a scale-in operation."
+ },
+ "protectFromScaleSetActions": {
+ "type": "boolean",
+ "description": "Indicates that model updates or actions (including scale-in) initiated on the virtual machine scale set should not be applied to the virtual machine scale set VM."
+ }
+ },
+ "description": "The protection policy of a virtual machine scale set VM."
+ },
+ "ScheduledEventsProfile": {
+ "type": "object",
+ "properties": {
+ "terminateNotificationProfile": {
+ "$ref": "#/definitions/TerminateNotificationProfile",
+ "description": "Specifies Terminate Scheduled Event related configurations."
+ }
+ }
+ },
+ "TerminateNotificationProfile": {
+ "type": "object",
+ "properties": {
+ "notBeforeTimeout": {
+ "type": "string",
+ "description": "Configurable length of time a Virtual Machine being deleted will have to potentially approve the Terminate Scheduled Event before the event is auto approved (timed out). The configuration must be specified in ISO 8601 format, the default value is 5 minutes (PT5M)"
+ },
+ "enable": {
+ "type": "boolean",
+ "description": "Specifies whether the Terminate Scheduled event is enabled or disabled."
+ }
+ }
+ },
+ "VirtualMachineHealthStatus": {
+ "properties": {
+ "status": {
+ "readOnly": true,
+ "$ref": "#/definitions/InstanceViewStatus",
+ "description": "The health status information for the VM."
+ }
+ },
+ "description": "The health status of the VM."
+ },
+ "VirtualMachineScaleSetVMListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VirtualMachineScaleSetVM"
+ },
+ "description": "The list of virtual machine scale sets VMs."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of Virtual Machine Scale Set VMs. Call ListNext() with this to fetch the next page of VMSS VMs"
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine Scale Set VMs operation response."
+ },
+ "RollingUpgradeStatusInfo": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/RollingUpgradeStatusInfoProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "The status of the latest virtual machine scale set rolling upgrade."
+ },
+ "RollingUpgradeStatusInfoProperties": {
+ "properties": {
+ "policy": {
+ "readOnly": true,
+ "$ref": "#/definitions/RollingUpgradePolicy",
+ "description": "The rolling upgrade policies applied for this upgrade."
+ },
+ "runningStatus": {
+ "readOnly": true,
+ "$ref": "#/definitions/RollingUpgradeRunningStatus",
+ "description": "Information about the current running state of the overall upgrade."
+ },
+ "progress": {
+ "readOnly": true,
+ "$ref": "#/definitions/RollingUpgradeProgressInfo",
+ "description": "Information about the number of virtual machine instances in each upgrade state."
+ },
+ "error": {
+ "readOnly": true,
+ "$ref": "#/definitions/ApiError",
+ "description": "Error details for this upgrade, if there are any."
+ }
+ },
+ "description": "The status of the latest virtual machine scale set rolling upgrade."
+ },
+ "RollingUpgradeRunningStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Code indicating the current status of the upgrade.",
+ "enum": [
+ "RollingForward",
+ "Cancelled",
+ "Completed",
+ "Faulted"
+ ],
+ "x-ms-enum": {
+ "name": "RollingUpgradeStatusCode",
+ "modelAsString": false
+ }
+ },
+ "startTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Start time of the upgrade."
+ },
+ "lastAction": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The last action performed on the rolling upgrade.",
+ "enum": [
+ "Start",
+ "Cancel"
+ ],
+ "x-ms-enum": {
+ "name": "RollingUpgradeActionType",
+ "modelAsString": false
+ }
+ },
+ "lastActionTime": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "Last action time of the upgrade."
+ }
+ },
+ "description": "Information about the current running state of the overall upgrade."
+ },
+ "RollingUpgradeProgressInfo": {
+ "properties": {
+ "successfulInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that have been successfully upgraded."
+ },
+ "failedInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that have failed to be upgraded successfully."
+ },
+ "inProgressInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that are currently being upgraded."
+ },
+ "pendingInstanceCount": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of instances that have not yet begun to be upgraded."
+ }
+ },
+ "description": "Information about the number of virtual machine instances in each upgrade state."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ApiError"
+ }
+ },
+ "description": "An error response from the Compute service."
+ },
+ "ApiError": {
+ "properties": {
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ApiErrorBase"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "UpdateResource": {
+ "description": "The Update Resource model definition.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ }
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "SubResourceReadOnly": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "RecoveryWalkResponse": {
+ "properties": {
+ "walkPerformed": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Whether the recovery walk was performed"
+ },
+ "nextPlatformUpdateDomain": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "The next update domain that needs to be walked. Null means walk spanning all update domains has been completed"
+ }
+ },
+ "description": "Response after calling a manual recovery walk"
+ },
+ "RequestRateByIntervalInput": {
+ "properties": {
+ "intervalLength": {
+ "type": "string",
+ "description": "Interval value in minutes used to create LogAnalytics call rate logs.",
+ "enum": [
+ "ThreeMins",
+ "FiveMins",
+ "ThirtyMins",
+ "SixtyMins"
+ ],
+ "x-ms-enum": {
+ "name": "IntervalInMins",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "intervalLength"
+ ],
+ "allOf": [
+ {
+ "$ref": "#/definitions/LogAnalyticsInputBase"
+ }
+ ],
+ "description": "Api request input for LogAnalytics getRequestRateByInterval Api."
+ },
+ "ThrottledRequestsInput": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/LogAnalyticsInputBase"
+ }
+ ],
+ "description": "Api request input for LogAnalytics getThrottledRequests Api."
+ },
+ "LogAnalyticsInputBase": {
+ "properties": {
+ "blobContainerSasUri": {
+ "type": "string",
+ "description": "SAS Uri of the logging blob container to which LogAnalytics Api writes output logs to."
+ },
+ "fromTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "From time of the query"
+ },
+ "toTime": {
+ "type": "string",
+ "format": "date-time",
+ "description": "To time of the query"
+ },
+ "groupByThrottlePolicy": {
+ "type": "boolean",
+ "description": "Group query result by Throttle Policy applied."
+ },
+ "groupByOperationName": {
+ "type": "boolean",
+ "description": "Group query result by Operation Name."
+ },
+ "groupByResourceName": {
+ "type": "boolean",
+ "description": "Group query result by Resource Name."
+ }
+ },
+ "required": [
+ "blobContainerSasUri",
+ "fromTime",
+ "toTime"
+ ],
+ "description": "Api input base class for LogAnalytics Api."
+ },
+ "LogAnalyticsOperationResult": {
+ "properties": {
+ "properties": {
+ "readOnly": true,
+ "$ref": "#/definitions/LogAnalyticsOutput",
+ "description": "LogAnalyticsOutput"
+ }
+ },
+ "description": "LogAnalytics operation status response"
+ },
+ "LogAnalyticsOutput": {
+ "properties": {
+ "output": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Output file Uri path to blob container."
+ }
+ },
+ "description": "LogAnalytics output properties"
+ },
+ "VMScaleSetConvertToSinglePlacementGroupInput": {
+ "properties": {
+ "activePlacementGroupId": {
+ "type": "string",
+ "description": "Id of the placement group in which you want future virtual machine instances to be placed. To query placement group Id, please use Virtual Machine Scale Set VMs - Get API. If not provided, the platform will choose one with maximum number of virtual machine instances."
+ }
+ }
+ },
+ "OrchestrationServiceStateInput": {
+ "properties": {
+ "serviceName": {
+ "type": "string",
+ "description": "The name of the service.",
+ "enum": [
+ "AutomaticRepairs"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationServiceNames",
+ "modelAsString": true
+ }
+ },
+ "action": {
+ "type": "string",
+ "description": "The action to be performed.",
+ "enum": [
+ "Resume",
+ "Suspend"
+ ],
+ "x-ms-enum": {
+ "name": "OrchestrationServiceStateAction",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The input for OrchestrationServiceState",
+ "required": [
+ "serviceName",
+ "action"
+ ]
+ },
+ "PatchSettings": {
+ "properties": {
+ "patchMode": {
+ "type": "string",
+ "description": "Specifies the mode of in-guest patching to IaaS virtual machine.
Possible values are:
**Manual** - You control the application of patches to a virtual machine. You do this by applying patches manually inside the VM. In this mode, automatic updates are disabled; the property WindowsConfiguration.enableAutomaticUpdates must be false
**AutomaticByOS** - The virtual machine will automatically be updated by the OS. The property WindowsConfiguration.enableAutomaticUpdates must be true.
** AutomaticByPlatform** - the virtual machine will automatically updated by the platform. The properties provisionVMAgent and WindowsConfiguration.enableAutomaticUpdates must be true ",
+ "enum": [
+ "Manual",
+ "AutomaticByOS",
+ "AutomaticByPlatform"
+ ],
+ "x-ms-enum": {
+ "name": "InGuestPatchMode",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "VirtualMachinePatchStatus": {
+ "properties": {
+ "availablePatchSummary": {
+ "$ref": "#/definitions/AvailablePatchSummary",
+ "description": "The available patch summary of the latest assessment operation for the virtual machine."
+ },
+ "lastPatchInstallationSummary": {
+ "$ref": "#/definitions/LastPatchInstallationSummary",
+ "description": "The installation summary of the latest installation operation for the virtual machine."
+ }
+ },
+ "description": "The status of virtual machine patch operations."
+ },
+ "AvailablePatchSummary": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "InProgress",
+ "Failed",
+ "Succeeded",
+ "CompletedWithWarnings"
+ ],
+ "x-ms-enum": {
+ "name": "PatchOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "assessmentActivityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "rebootPending": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "The overall reboot status of the VM. It will be true when partially installed patches require a reboot to complete installation but the reboot has not yet occurred."
+ },
+ "criticalAndSecurityPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of critical or security patches that have been detected as available and not yet installed."
+ },
+ "otherPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches excluding critical and security."
+ },
+ "startTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "The errors that were encountered during execution of the operation. The details array contains the list of them."
+ }
+ },
+ "description": "Describes the properties of an virtual machine instance view for available patch summary."
+ },
+ "LastPatchInstallationSummary": {
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The overall success or failure status of the operation. It remains \"InProgress\" until the operation completes. At that point it will become \"Failed\", \"Succeeded\", or \"CompletedWithWarnings.\"",
+ "enum": [
+ "InProgress",
+ "Failed",
+ "Succeeded",
+ "CompletedWithWarnings"
+ ],
+ "x-ms-enum": {
+ "name": "PatchOperationStatus",
+ "modelAsString": true
+ }
+ },
+ "installationActivityId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The activity ID of the operation that produced this result. It is used to correlate across CRP and extension logs."
+ },
+ "maintenanceWindowExceeded": {
+ "type": "boolean",
+ "readOnly": true,
+ "description": "Describes whether the operation ran out of time before it completed all its intended actions"
+ },
+ "rebootStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The reboot status of the machine after the patch operation. It will be in \"NotNeeded\" status if reboot is not needed after the patch operation. \"Required\" will be the status once the patch is applied and machine is required to reboot. \"Started\" will be the reboot status when the machine has started to reboot. \"Failed\" will be the status if the machine is failed to reboot. \"Completed\" will be the status once the machine is rebooted successfully",
+ "enum": [
+ "NotNeeded",
+ "Required",
+ "Started",
+ "Failed",
+ "Completed"
+ ],
+ "x-ms-enum": {
+ "name": "RebootStatus",
+ "modelAsString": true
+ }
+ },
+ "notSelectedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches but not going to be installed because it didn't match a classification or inclusion list entry."
+ },
+ "excludedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches but excluded explicitly by a customer-specified exclusion list match."
+ },
+ "pendingPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The number of all available patches expected to be installed over the course of the patch installation operation."
+ },
+ "installedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The count of patches that successfully installed."
+ },
+ "failedPatchCount": {
+ "type": "integer",
+ "readOnly": true,
+ "format": "int32",
+ "description": "The count of patches that failed installation."
+ },
+ "startTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "lastModifiedTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The UTC timestamp when the operation began."
+ },
+ "startedBy": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The person or system account that started the operation"
+ },
+ "error": {
+ "$ref": "#/definitions/ApiError",
+ "readOnly": true,
+ "description": "The errors that were encountered during execution of the operation. The details array contains the list of them."
+ }
+ },
+ "description": "Describes the properties of the last installed patch summary."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json
new file mode 100644
index 000000000000..a7f0a758cb5c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageScaleSetFromAnUnmanagedGeneralizedOsImage.json
@@ -0,0 +1,202 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "caching": "ReadWrite",
+ "image": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "osDisk"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d6e9ab29-f8c9-4792-978c-ae2c07b98f17",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "osDisk"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d6e9ab29-f8c9-4792-978c-ae2c07b98f17",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "osDisk"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json
new file mode 100644
index 000000000000..fcd7e33b0c0e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateACustomImageVmFromAnUnmanagedGeneralizedOsImage.json
@@ -0,0 +1,145 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "name": "myVMosdisk",
+ "image": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "osType": "Windows",
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd"
+ }
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDisk": {
+ "name": "myVMosdisk",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "926cd555-a07c-4ff5-b214-4aa4dd09d79b",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "osDisk": {
+ "name": "myVMosdisk",
+ "image": {
+ "uri": "https://{existing-storage-account-name}.blob.core.windows.net/system/Microsoft.Compute/Images/vhds/{existing-generalized-os-image-blob-name}.vhd"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "926cd555-a07c-4ff5-b214-4aa4dd09d79b",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json
new file mode 100644
index 000000000000..8063a2fbb9d3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageScaleSetWithUnmanagedOsDisks.json
@@ -0,0 +1,222 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "osDisk",
+ "vhdContainers": [
+ "http://{existing-storage-account-name-0}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-1}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-2}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-3}.blob.core.windows.net/vhdContainer",
+ "http://{existing-storage-account-name-4}.blob.core.windows.net/vhdContainer"
+ ]
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "77b7df9a-32fe-45e3-8911-60ac9c9b9c64",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "vhdContainers": [
+ "http://{existing-storage-account-name}.blob.core.windows.net/vhds"
+ ],
+ "name": "osDisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "77b7df9a-32fe-45e3-8911-60ac9c9b9c64",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "vhdContainers": [
+ "http://{existing-storage-account-name}.blob.core.windows.net/vhds"
+ ],
+ "name": "osDisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json
new file mode 100644
index 000000000000..9f18e0b3ee35
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAPlatformImageVmWithUnmanagedOsAndDataDisks.json
@@ -0,0 +1,213 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "{vm-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0,
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk0.vhd"
+ }
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1,
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/{existing-container-name}/myDisk1.vhd"
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "name": "dataDisk0",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk0.vhd"
+ },
+ "lun": 0
+ },
+ {
+ "name": "dataDisk1",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk1.vhd"
+ },
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "5230a749-2f68-4830-900b-702182d32e63",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk.vhd"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "name": "dataDisk0",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk0.vhd"
+ },
+ "lun": 0
+ },
+ {
+ "name": "dataDisk1",
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "caching": "None",
+ "vhd": {
+ "uri": "http://{existing-storage-account-name}.blob.core.windows.net/vhds/myDisk1.vhd"
+ },
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "5230a749-2f68-4830-900b-702182d32e63",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromACustomImage.json
new file mode 100644
index 000000000000..8e87f76af138
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetFromACustomImage.json
@@ -0,0 +1,204 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json
new file mode 100644
index 000000000000..247e9b7b4616
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAMarketplaceImagePlan.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json
new file mode 100644
index 000000000000..44f20bbb8f62
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureApplicationGateway.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "applicationGatewayBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/{existing-application-gateway-name}/backendAddressPools/{existing-backend-address-pool-name}"
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "a0134477-b9d9-484b-b0e3-205c1c089ffa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "applicationGatewayBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/nsgExistingAppGw/backendAddressPools/appGatewayBackendPool"
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "a0134477-b9d9-484b-b0e3-205c1c089ffa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "applicationGatewayBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/applicationGateways/nsgExistingAppGw/backendAddressPools/appGatewayBackendPool"
+ }
+ ],
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json
new file mode 100644
index 000000000000..85e729cbe5be
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAnAzureLoadBalancer.json
@@ -0,0 +1,251 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ },
+ "publicIPAddressConfiguration": {
+ "name": "{vmss-name}",
+ "properties": {
+ "publicIPAddressVersion": "IPv4"
+ }
+ },
+ "loadBalancerInboundNatPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/inboundNatPools/{existing-nat-pool-name}"
+ }
+ ],
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/{existing-load-balancer-name}/backendAddressPools/{existing-backend-address-pool-name}"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ec0b21ca-51ec-414b-9323-f236ffc21479",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "loadBalancerInboundNatPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/inboundNatPools/lbNatPool"
+ }
+ ],
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/backendAddressPools/lbBackendPool"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ec0b21ca-51ec-414b-9323-f236ffc21479",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "loadBalancerInboundNatPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/inboundNatPools/lbNatPool"
+ }
+ ],
+ "loadBalancerBackendAddressPools": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/loadBalancers/myLb/backendAddressPools/lbBackendPool"
+ }
+ ],
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAutomaticRepairs.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAutomaticRepairs.json
new file mode 100644
index 000000000000..a507143e62ac
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithAutomaticRepairs.json
@@ -0,0 +1,227 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "automaticRepairsPolicy": {
+ "enabled": true,
+ "gracePeriod": "PT30M"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithBootDiagnostics.json
new file mode 100644
index 000000000000..67cba225a1b8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithBootDiagnostics.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDisk.json
new file mode 100644
index 000000000000..b9b88a727dbf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDisk.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json
new file mode 100644
index 000000000000..43853d85665a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithDiffOsDiskUsingDiffDiskPlacement.json
@@ -0,0 +1,242 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json
new file mode 100644
index 000000000000..875ba16636a6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEmptyDataDisksOnEachVm.json
@@ -0,0 +1,270 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D2_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEncryptionAtHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEncryptionAtHost.json
new file mode 100644
index 000000000000..3b7b6beba957
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithEncryptionAtHost.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "b9e23088-6ffc-46e0-9e02-b0a6eeef47db",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json
new file mode 100644
index 000000000000..42d3c4a6bb25
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithExtensionsTimeBudget.json
@@ -0,0 +1,278 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "extensionProfile": {
+ "extensions": [
+ {
+ "name": "{extension-name}",
+ "properties": {
+ "autoUpgradeMinorVersion": false,
+ "publisher": "{extension-Publisher}",
+ "type": "{extension-Type}",
+ "typeHandlerVersion": "{handler-version}",
+ "settings": {}
+ }
+ }
+ ],
+ "extensionsTimeBudget": "PT1H20M"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "extensionProfile": {
+ "extensions": [
+ {
+ "name": "{extension-name}",
+ "properties": {
+ "autoUpgradeMinorVersion": false,
+ "publisher": "{extension-Publisher}",
+ "type": "{extension-Type}",
+ "typeHandlerVersion": "{handler-version}",
+ "settings": {}
+ }
+ }
+ ],
+ "extensionsTimeBudget": "PT1H20M"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "extensionProfile": {
+ "extensions": [
+ {
+ "name": "{extension-name}",
+ "properties": {
+ "autoUpgradeMinorVersion": false,
+ "publisher": "{extension-Publisher}",
+ "type": "{extension-Type}",
+ "typeHandlerVersion": "{handler-version}",
+ "settings": {}
+ }
+ }
+ ],
+ "extensionsTimeBudget": "PT1H20M"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json
new file mode 100644
index 000000000000..5553d72e053c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithManagedBootDiagnostics.json
@@ -0,0 +1,230 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPasswordAuthentication.json
new file mode 100644
index 000000000000..fd0f33b9e0e1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPasswordAuthentication.json
@@ -0,0 +1,215 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ffb27c5c-39a5-4d4e-b307-b32598689813",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "ffb27c5c-39a5-4d4e-b307-b32598689813",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPremiumStorage.json
new file mode 100644
index 000000000000..0b54b8ea2ace
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithPremiumStorage.json
@@ -0,0 +1,215 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "19fd38a2-f50a-42c6-9dc7-3f9cf3791225",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "19fd38a2-f50a-42c6-9dc7-3f9cf3791225",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithSshAuthentication.json
new file mode 100644
index 000000000000..4c6f701615cf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithSshAuthentication.json
@@ -0,0 +1,239 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "fb73af19-0090-467c-9ced-b00bceab1c45",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "fb73af19-0090-467c-9ced-b00bceab1c45",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json
new file mode 100644
index 000000000000..baefdffe161c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithTerminateScheduledEventEnabled.json
@@ -0,0 +1,233 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "location": "westus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "enable": true,
+ "notBeforeTimeout": "PT5M"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "enable": true,
+ "notBeforeTimeout": "PT5M"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "d053ec5a-8da6-495f-ab13-38216503c6d7",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ },
+ "scheduledEventsProfile": {
+ "terminateNotificationProfile": {
+ "enable": true,
+ "notBeforeTimeout": "PT5M"
+ }
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithVMsInDifferentZones.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithVMsInDifferentZones.json
new file mode 100644
index 000000000000..3784e146453d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScaleSetWithVMsInDifferentZones.json
@@ -0,0 +1,284 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A1_v2"
+ },
+ "location": "centralus",
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Automatic"
+ }
+ },
+ "zones": [
+ "1",
+ "3"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": false,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "zoneBalance": false,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Automatic"
+ },
+ "provisioningState": "Succeeded"
+ },
+ "zones": [
+ "1",
+ "3"
+ ],
+ "location": "centralus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 2,
+ "name": "Standard_A1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": false,
+ "overprovision": true,
+ "uniqueId": "8042c376-4690-4c47-9fa2-fbdad70e32fa",
+ "zoneBalance": false,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "diskSizeGB": 512
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Automatic"
+ },
+ "provisioningState": "Creating"
+ },
+ "zones": [
+ "1",
+ "3"
+ ],
+ "location": "centralus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json
new file mode 100644
index 000000000000..b4e954f22642
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAScalesetWithDiskEncryptionSetResource.json
@@ -0,0 +1,255 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_DS1_v2"
+ },
+ "properties": {
+ "overprovision": true,
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/{existing-virtual-network-name}/subnets/{existing-subnet-name}"
+ }
+ }
+ }
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ },
+ "201": {
+ "body": {
+ "sku": {
+ "tier": "Standard",
+ "capacity": 3,
+ "name": "Standard_D1_v2"
+ },
+ "name": "{vmss-name}",
+ "properties": {
+ "singlePlacementGroup": true,
+ "overprovision": true,
+ "uniqueId": "afa2afa8-9e49-48fb-9d18-c86323b5d064",
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ }
+ ]
+ },
+ "osProfile": {
+ "computerNamePrefix": "{vmss-name}",
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "dnsSettings": {
+ "dnsServers": []
+ },
+ "primary": true,
+ "enableIPForwarding": true,
+ "ipConfigurations": [
+ {
+ "name": "{vmss-name}",
+ "properties": {
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/nsgExistingVnet/subnets/nsgExistingSubnet"
+ },
+ "privateIPAddressVersion": "IPv4"
+ }
+ }
+ ],
+ "enableAcceleratedNetworking": false
+ }
+ }
+ ]
+ }
+ },
+ "upgradePolicy": {
+ "mode": "Manual"
+ },
+ "provisioningState": "Creating"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/{vmss-name}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmFromACustomImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmFromACustomImage.json
new file mode 100644
index 000000000000..2442f6b75915
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmFromACustomImage.json
@@ -0,0 +1,144 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": []
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmInAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmInAnAvailabilitySet.json
new file mode 100644
index 000000000000..096334bc8b9d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmInAnAvailabilitySet.json
@@ -0,0 +1,162 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/{existing-availability-set-name}"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/NSGEXISTINGAS"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/NSGEXISTINGAS"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDisk.json
new file mode 100644
index 000000000000..16c03f72a8c9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDisk.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json
new file mode 100644
index 000000000000..7eb93e9b19b5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsCacheDisk.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "CacheDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "CacheDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "CacheDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json
new file mode 100644
index 000000000000..22124e97660a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithADiffOsDiskUsingDiffDiskPlacementAsResourceDisk.json
@@ -0,0 +1,180 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "diffDiskSettings": {
+ "option": "Local",
+ "placement": "ResourceDisk"
+ },
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithAMarketplaceImagePlan.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithAMarketplaceImagePlan.json
new file mode 100644
index 000000000000..351bd0c78dc6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithAMarketplaceImagePlan.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithBootDiagnostics.json
new file mode 100644
index 000000000000..9bcd58f56b94
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithBootDiagnostics.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithDiskEncryptionSetResource.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithDiskEncryptionSetResource.json
new file mode 100644
index 000000000000..70efb25b22a1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithDiskEncryptionSetResource.json
@@ -0,0 +1,229 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/{existing-custom-image-name}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}",
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Attach",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskencryptionset-name}"
+ }
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}",
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Attach",
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/nsgcustom"
+ },
+ "osDisk": {
+ "name": "myVMosdisk",
+ "diskSizeGB": 30,
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "osType": "Linux"
+ },
+ "dataDisks": [
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/{existing-managed-disk-name}",
+ "storageAccountType": "Standard_LRS",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ }
+ },
+ "diskSizeGB": 1023,
+ "createOption": "Attach",
+ "lun": 1
+ }
+ ]
+ },
+ "vmId": "71aa3d5a-d73d-4970-9182-8580433b2865",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEmptyDataDisks.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEmptyDataDisks.json
new file mode 100644
index 000000000000..6c11b253497a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEmptyDataDisks.json
@@ -0,0 +1,205 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEncryptionAtHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEncryptionAtHost.json
new file mode 100644
index 000000000000..7f9dcac22865
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithEncryptionAtHost.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "windows-data-science-vm",
+ "name": "windows2016"
+ },
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "windows2016",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "windows-data-science-vm"
+ },
+ "osDisk": {
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myVM",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "standard-data-science-vm",
+ "publisher": "microsoft-ads",
+ "version": "latest",
+ "offer": "standard-data-science-vm"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadOnly",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "FromImage",
+ "name": "myVMosdisk"
+ },
+ "dataDisks": []
+ },
+ "securityProfile": {
+ "encryptionAtHost": true
+ },
+ "vmId": "5c0d55a7-c407-4ed6-bf7d-ddb810267c85",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "plan": {
+ "publisher": "microsoft-ads",
+ "product": "standard-data-science-vm",
+ "name": "standard-data-science-vm"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithExtensionsTimeBudget.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithExtensionsTimeBudget.json
new file mode 100644
index 000000000000..4077f1678974
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithExtensionsTimeBudget.json
@@ -0,0 +1,174 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://{existing-storage-account-name}.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "extensionsTimeBudget": "PT30M"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "extensionsTimeBudget": "PT30M",
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "storageUri": "http://nsgdiagnostic.blob.core.windows.net",
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "extensionsTimeBudget": "PT30M",
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithManagedBootDiagnostics.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithManagedBootDiagnostics.json
new file mode 100644
index 000000000000..dd09e24daf77
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithManagedBootDiagnostics.json
@@ -0,0 +1,168 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true
+ }
+ },
+ "vmId": "676420ba-7a24-4bfe-80bd-9c841ee184fa",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPasswordAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPasswordAuthentication.json
new file mode 100644
index 000000000000..7e848658b4dd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPasswordAuthentication.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b248db33-62ba-4d2d-b791-811e075ee0f5",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "b248db33-62ba-4d2d-b791-811e075ee0f5",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByOS.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByOS.json
new file mode 100644
index 000000000000..d21b36ff8198
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByOS.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByOS"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByOS"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByOS"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByPlatform.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByPlatform.json
new file mode 100644
index 000000000000..63f8431a61f7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfAutomaticByPlatform.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "AutomaticByPlatform"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfManual.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfManual.json
new file mode 100644
index 000000000000..918e64e70823
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPatchSettingModeOfManual.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "Manual"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true,
+ "patchSettings": {
+ "patchMode": "Manual"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": false,
+ "patchSettings": {
+ "patchMode": "Manual"
+ }
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPremiumStorage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPremiumStorage.json
new file mode 100644
index 000000000000..40dda0e368b3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithPremiumStorage.json
@@ -0,0 +1,153 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "a149cd25-409f-41af-8088-275f5486bc93",
+ "hardwareProfile": {
+ "vmSize": "Standard_DS1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithSshAuthentication.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithSshAuthentication.json
new file mode 100644
index 000000000000..1bdb1152896b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAVmWithSshAuthentication.json
@@ -0,0 +1,177 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "{image_sku}",
+ "publisher": "{image_publisher}",
+ "version": "latest",
+ "offer": "{image_offer}"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ }
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "linuxConfiguration": {
+ "ssh": {
+ "publicKeys": [
+ {
+ "path": "/home/{your-username}/.ssh/authorized_keys",
+ "keyData": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCeClRAk2ipUs/l5voIsDC5q9RI+YSRd1Bvd/O+axgY4WiBzG+4FwJWZm/mLLe5DoOdHQwmU2FrKXZSW4w2sYE70KeWnrFViCOX5MTVvJgPE8ClugNl8RWth/tU849DvM9sT7vFgfVSHcAS2yDRyDlueii+8nF2ym8XWAPltFVCyLHRsyBp5YPqK8JFYIa1eybKsY3hEAxRCA+/7bq8et+Gj3coOsuRmrehav7rE6N12Pb80I6ofa6SM5XNYq4Xk0iYNx7R3kdz0Jj9XgZYWjAHjJmT0gTRoOnt6upOuxK7xI/ykWrllgpXrCPu3Ymz+c+ujaqcxDopnAl2lmf69/J1"
+ }
+ ]
+ },
+ "disablePasswordAuthentication": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "16.04-LTS",
+ "publisher": "Canonical",
+ "version": "latest",
+ "offer": "UbuntuServer"
+ },
+ "osDisk": {
+ "osType": "Linux",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": []
+ },
+ "vmId": "e0de9b84-a506-4b95-9623-00a425d05c90",
+ "hardwareProfile": {
+ "vmSize": "Standard_D1_v2"
+ },
+ "provisioningState": "Creating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnAvailabilitySet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnAvailabilitySet.json
new file mode 100644
index 000000000000..196a620eb9a3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnAvailabilitySet.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "availabilitySetName": "myAvailabilitySet",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "platformFaultDomainCount": 2,
+ "platformUpdateDomainCount": 20
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "sku": {
+ "name": "Classic"
+ },
+ "name": "myAvailabilitySet",
+ "properties": {
+ "platformFaultDomainCount": 2,
+ "platformUpdateDomainCount": 20
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/availabilitySets",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/myAvailabilitySet"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlob.json
new file mode 100644
index 000000000000..bb69c5642d9d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlob.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ },
+ "zoneResilient": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..88d29edc5108
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromABlobWithDiskEncryptionSet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDisk.json
new file mode 100644
index 000000000000..1aeedab52741
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDisk.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ },
+ "zoneResilient": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..f248d31771d4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAManagedDiskWithDiskEncryptionSet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshot.json
new file mode 100644
index 000000000000..04d97c3b696a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshot.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ },
+ "zoneResilient": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..94e672bb3990
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromASnapshotWithDiskEncryptionSet.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "diskEncryptionSet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/diskEncryptionSets/{existing-diskEncryptionSet-name}"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": []
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAVM.json
new file mode 100644
index 000000000000..846f76b3341e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageFromAVM.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "managedDisk": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myVM_OsDisk_1_6dc293b7d811433196903acf92665022"
+ },
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
new file mode 100644
index 000000000000..10d4b80694ff
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromABlob.json
@@ -0,0 +1,81 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ],
+ "zoneResilient": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd"
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
new file mode 100644
index 000000000000..8ce291fd2cd9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromAManagedDisk.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ],
+ "zoneResilient": false
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "managedDisk": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ }
+ }
+ ],
+ "zoneResilient": false
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
new file mode 100644
index 000000000000..9d086c83d0ef
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnImageThatIncludesADataDiskFromASnapshot.json
@@ -0,0 +1,93 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ],
+ "zoneResilient": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ },
+ "201": {
+ "body": {
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "snapshot": {
+ "id": "subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot"
+ },
+ "osState": "Generalized",
+ "caching": "ReadWrite"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ }
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "Creating"
+ },
+ "type": "Microsoft.Compute/images",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/disk/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnSshPublicKey.json
new file mode 100644
index 000000000000..c957c530c252
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateAnSshPublicKey.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "sshPublicKeyName": "mySshPublicKeyName",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "mySshPublicKeyName",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "mySshPublicKeyName",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/sshPublicKeys/mySshPublicKeyName",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHost.json
new file mode 100644
index 000000000000..be99526847e4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHost.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-10-01",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "platformFaultDomain": 1
+ },
+ "sku": {
+ "name": "DSv3-Type1"
+ }
+ },
+ "hostGroupName": "myDedicatedHostGroup",
+ "hostName": "myDedicatedHost"
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myDedicatedHost",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup/hosts/myDedicatedHost",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "DSv3-Type1"
+ },
+ "properties": {
+ "platformFaultDomain": 1,
+ "autoReplaceOnFailure": true,
+ "hostId": "{GUID}"
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomain": 1,
+ "autoReplaceOnFailure": false,
+ "licenseType": "Windows_Server_Hybrid",
+ "hostId": "{GUID}"
+ },
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "name": "myDedicatedHost",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup/hosts/myDedicatedHost",
+ "sku": {
+ "name": "DSv3-Type1"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json
new file mode 100644
index 000000000000..7d6e5d145fd1
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateADedicatedHostGroup.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "hostGroupName": "myDedicatedHostGroup",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "department": "finance"
+ },
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "supportAutomaticPlacement": true
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myDedicatedHostGroup",
+ "location": "westus",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup",
+ "tags": {
+ "department": "finance"
+ },
+ "zones": [
+ "1"
+ ],
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "supportAutomaticPlacement": true
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "supportAutomaticPlacement": true
+ },
+ "location": "westus",
+ "tags": {
+ "department": "finance",
+ "owner": "myCompany"
+ },
+ "name": "myDedicatedHostGroup",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/HostGroups/myDedicatedHostGroup",
+ "zones": [
+ "1"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateAProximityPlacementGroup.json
new file mode 100644
index 000000000000..86b30128ba17
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateAProximityPlacementGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {
+ "location": "westus",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..5e3dbf00975a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/CreateOrUpdateVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2020-06-01",
+ "extensionParameters": {
+ "location": "westus",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteAProximityPlacementGroup.json
new file mode 100644
index 000000000000..b92729922d3b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteAProximityPlacementGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..08064356a7c6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/DeleteVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GeneralizeVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GeneralizeVirtualMachine.json
new file mode 100644
index 000000000000..45c4b2a99f50
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GeneralizeVirtualMachine.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "vmName": "myVMName"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GenerateSshKeyPair.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GenerateSshKeyPair.json
new file mode 100644
index 000000000000..3d3a18bd65d6
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GenerateSshKeyPair.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "sshPublicKeyName": "mySshPublicKeyName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "privateKey": "{ssh private key}",
+ "publicKey": "{ssh-rsa public key}",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/SshPublicKeys/mySshPublicKeyName"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHost.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHost.json
new file mode 100644
index 000000000000..0da47da294d4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHost.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2018-10-01",
+ "hostGroupName": "myDedicatedHostGroup",
+ "hostName": "myHost"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomain": 1,
+ "autoReplaceOnFailure": true,
+ "hostId": "{GUID}",
+ "provisioningTime": "2019-06-27T01:02:38.3138469+00:00",
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/subId/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/vm1"
+ }
+ ],
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "assetId": "eb3f58b8-b4e8-4882-b69f-301a01812407",
+ "availableCapacity": {
+ "allocatableVMs": [
+ {
+ "vmSize": "Standard_A1",
+ "count": 10
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ },
+ {
+ "code": "HealthState/available",
+ "level": "Info",
+ "displayStatus": "Host available"
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "department": "HR"
+ },
+ "sku": {
+ "name": "DSv3-Type1"
+ },
+ "name": "myHost"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json
new file mode 100644
index 000000000000..cdd201b86023
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetADedicatedHostGroup.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "hostGroupName": "myDedicatedHostGroup",
+ "expand": "instanceView"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "platformFaultDomainCount": 3,
+ "hosts": [
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/myDedicatedHostGroup/myHostGroup/Hosts/myHost1"
+ },
+ {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/myDedicatedHostGroup/myHostGroup/Hosts/myHost2"
+ }
+ ],
+ "supportAutomaticPlacement": true,
+ "instanceView": {
+ "hosts": [
+ {
+ "name": "myHost1",
+ "assetId": "eb3f58b8-b4e8-4882-b69f-301a01812407",
+ "availableCapacity": {
+ "allocatableVMs": [
+ {
+ "vmSize": "Standard_A1",
+ "count": 10
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ },
+ {
+ "code": "HealthState/available",
+ "level": "Info",
+ "displayStatus": "Host available"
+ }
+ ]
+ },
+ {
+ "name": "myHost2",
+ "assetId": "f293d4ac-5eea-4be2-b0c0-0fcaa09aebf8",
+ "availableCapacity": {
+ "allocatableVMs": [
+ {
+ "vmSize": "Standard_A1",
+ "count": 10
+ }
+ ]
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded"
+ },
+ {
+ "code": "HealthState/available",
+ "level": "Info",
+ "displayStatus": "Host available"
+ }
+ ]
+ }
+ ]
+ }
+ },
+ "location": "westus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "name": "myDedicatedHostGroup",
+ "zones": [
+ "3"
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAProximityPlacementGroup.json
new file mode 100644
index 000000000000..b3088fb6cdfe
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAProximityPlacementGroup.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard",
+ "virtualMachines": [
+ {
+ "id": "string"
+ }
+ ],
+ "virtualMachineScaleSets": [
+ {
+ "id": "string"
+ }
+ ],
+ "availabilitySets": [
+ {
+ "id": "string"
+ }
+ ]
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAnSshPublicKey.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAnSshPublicKey.json
new file mode 100644
index 000000000000..4a483fc8fd1a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetAnSshPublicKey.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "sshPublicKeyName": "mySshPublicKeyName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "mySshPublicKeyName",
+ "location": "westus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/SshPublicKeys/mySshPublicKeyName",
+ "properties": {
+ "publicKey": "{ssh-rsa public key}"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetInformationAboutAnImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetInformationAboutAnImage.json
new file mode 100644
index 000000000000..5560fc29033d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetInformationAboutAnImage.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachine.json
new file mode 100644
index 000000000000..693204398233
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachine.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "vmId": "0f47b100-583c-48e3-a4c0-aefc2c9bbcc1",
+ "availabilitySet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/availabilitySets/my-AvailabilitySet"
+ },
+ "proximityPlacementGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/my-ppg01"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_DS3_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter",
+ "version": "latest"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "myOsDisk",
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myOsDisk"
+ },
+ "diskSizeGB": 30
+ },
+ "dataDisks": [
+ {
+ "lun": 0,
+ "name": "myDataDisk0",
+ "createOption": "Empty",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDataDisk0"
+ },
+ "diskSizeGB": 30
+ },
+ {
+ "lun": 1,
+ "name": "myDataDisk1",
+ "createOption": "Attach",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myDataDisk1"
+ },
+ "diskSizeGB": 100
+ }
+ ]
+ },
+ "osProfile": {
+ "computerName": "myVM",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": false
+ },
+ "secrets": []
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{myNIC}"
+ }
+ ]
+ },
+ "diagnosticsProfile": {
+ "bootDiagnostics": {
+ "enabled": true,
+ "storageUri": "http://{myStorageAccount}.blob.core.windows.net"
+ }
+ },
+ "extensionsTimeBudget": "PT50M",
+ "provisioningState": "Succeeded"
+ },
+ "resources": [
+ {
+ "name": "CustomScriptExtension-DSC",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM/extensions/CustomScriptExtension-DSC",
+ "type": "Microsoft.Compute/virtualMachines/extensions",
+ "location": "west us",
+ "tags": {
+ "displayName": "CustomScriptExtension-DSC"
+ },
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.9",
+ "settings": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..f8f243a0a90e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVM",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "properties": {
+ "vmId": "0f47b100-583c-48e3-a4c0-aefc2c9bbcc1",
+ "hostGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_D2s_v3"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2016-Datacenter",
+ "version": "latest"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "myOsDisk",
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myOsDisk"
+ },
+ "diskSizeGB": 30
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerName": "myVM",
+ "adminUsername": "admin",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": false
+ },
+ "secrets": []
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{myNIC}"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json
new file mode 100644
index 000000000000..bb17b5ad0c6c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceView.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "vmName": "myVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "platformUpdateDomain": 1,
+ "platformFaultDomain": 1,
+ "computerName": "myVM",
+ "osName": "Windows Server 2016 Datacenter",
+ "osVersion": "Microsoft Windows NT 10.0.14393.0",
+ "vmAgent": {
+ "vmAgentVersion": "2.7.41491.949",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Ready",
+ "message": "GuestAgent is running and accepting new configurations.",
+ "time": "2019-10-14T23:11:22+00:00"
+ }
+ ],
+ "extensionHandlers": [
+ {
+ "type": "Microsoft.Azure.Security.IaaSAntimalware",
+ "typeHandlerVersion": "1.5.5.9",
+ "status": {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Ready"
+ }
+ }
+ ]
+ },
+ "disks": [
+ {
+ "name": "myOsDisk",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2019-10-14T21:29:47.477089+00:00"
+ }
+ ]
+ },
+ {
+ "name": "myDataDisk0",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2019-10-14T21:29:47.461517+00:00"
+ }
+ ]
+ }
+ ],
+ "bootDiagnostics": {
+ "consoleScreenshotBlobUri": "https://{myStorageAccount}.blob.core.windows.net/bootdiagnostics-myOsDisk/myOsDisk.screenshot.bmp",
+ "serialConsoleLogBlobUri": "https://{myStorageAccount}.blob.core.windows.net/bootdiagnostics-myOsDisk/myOsDisk.serialconsole.log"
+ },
+ "extensions": [
+ {
+ "name": "IaaSAntiMalware-ext0",
+ "type": "Microsoft.Azure.Security.IaaSAntimalware",
+ "typeHandlerVersion": "1.5.5.9",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Microsoft Antimalware enabled"
+ }
+ ]
+ }
+ ],
+ "hyperVGeneration": "V1",
+ "patchStatus": {
+ "availablePatchSummary": {
+ "status": "Succeeded",
+ "assessmentActivityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "rebootPending": true,
+ "criticalAndSecurityPatchCount": 1,
+ "otherPatchCount": 2,
+ "startTime": "2020-04-24T21:02:04.2556154Z",
+ "error": null
+ },
+ "lastPatchInstallationSummary": {
+ "status": "Succeeded",
+ "maintenanceWindowExceeded": false,
+ "rebootStatus": "Completed",
+ "notSelectedPatchCount": 1,
+ "excludedPatchCount": 1,
+ "pendingPatchCount": 1,
+ "installedPatchCount": 1,
+ "failedPatchCount": 1,
+ "startTime": "2020-04-24T21:02:04.2556154Z",
+ "lastModifiedTime": "2020-04-24T21:02:04.2556154Z",
+ "startedBy": "platform",
+ "error": null
+ }
+ },
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2019-10-14T21:30:12.8051917+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..753e36339bd3
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineInstanceViewAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "vmName": "myVM"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "computerName": "myVM",
+ "osName": "Windows Server 2016 Datacenter",
+ "osVersion": "Microsoft Windows NT 10.0.14393.0",
+ "vmAgent": {
+ "vmAgentVersion": "2.7.41491.949",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Ready",
+ "message": "GuestAgent is running and accepting new configurations.",
+ "time": "2020-06-01T23:11:22+00:00"
+ }
+ ]
+ },
+ "disks": [
+ {
+ "name": "myOsDisk",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2020-06-01T21:29:47.477089+00:00"
+ }
+ ]
+ }
+ ],
+ "hyperVGeneration": "V1",
+ "assignedHost": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts/myHost",
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "time": "2020-06-01T21:30:12.8051917+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..1e18a2445395
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVirtualMachineScaleSet",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myVirtualMachineScaleSet",
+ "type": "Microsoft.Compute/virtualMachineScaleSets",
+ "location": "West US",
+ "tags": {
+ "myTag1": "tagValue1"
+ },
+ "sku": {
+ "name": "Standard_D2s_v3",
+ "tier": "Standard",
+ "capacity": 4
+ },
+ "properties": {
+ "singlePlacementGroup": false,
+ "upgradePolicy": {
+ "mode": "Automatic",
+ "automaticOSUpgradePolicy": {
+ "enableAutomaticOSUpgrade": false
+ }
+ },
+ "virtualMachineProfile": {
+ "storageProfile": {
+ "osDisk": {
+ "createOption": "FromImage",
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Premium_LRS"
+ },
+ "diskSizeGB": 30
+ },
+ "imageReference": {
+ "publisher": "azuredatabricks",
+ "offer": "databricks",
+ "sku": "databricksworker",
+ "version": "3.15.2"
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerNamePrefix": "myVirtualMachineScaleSet",
+ "adminUsername": "admin",
+ "linuxConfiguration": {
+ "disablePasswordAuthentication": false
+ }
+ },
+ "networkProfile": {
+ "networkInterfaceConfigurations": [
+ {
+ "name": "myNic",
+ "properties": {
+ "primary": true,
+ "ipConfigurations": [
+ {
+ "name": "myIPConfig",
+ "properties": {
+ "primary": true,
+ "subnet": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/virtualNetworks/myVNet/subnets/mySubnet"
+ }
+ }
+ }
+ ],
+ "networkSecurityGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkSecurityGroups/myNetworkSecurityGroup"
+ }
+ }
+ }
+ ]
+ }
+ },
+ "provisioningState": "succeeded",
+ "overprovision": false,
+ "doNotRunExtensionsOnOverprovisionedVMs": false,
+ "platformFaultDomainCount": 1,
+ "hostGroup": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..2c27ae1e263c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json
new file mode 100644
index 000000000000..bd6489768829
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/GetVirtualMachineScaleSetVMInstanceViewAutoPlacedOnDedicatedHostGroup.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "instanceId": "0",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "platformUpdateDomain": 0,
+ "platformFaultDomain": 0,
+ "rdpThumbPrint": null,
+ "vmAgent": {
+ "vmAgentVersion": "Unknown",
+ "statuses": [
+ {
+ "code": "ProvisioningState/Unavailable",
+ "level": "Warning",
+ "displayStatus": "Not Ready",
+ "message": "VM status blob is found but not yet populated.",
+ "time": "2020-06-01T05:00:32+00:00"
+ }
+ ],
+ "extensionHandlers": null
+ },
+ "disks": [
+ {
+ "name": "myOSDisk",
+ "encryptionSettings": null,
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": null,
+ "time": "2020-06-01T04:58:58.0882815+00:00"
+ }
+ ]
+ }
+ ],
+ "extensions": null,
+ "assignedHost": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/hostGroups/myHostGroup/hosts/myHost",
+ "bootDiagnostics": null,
+ "statuses": [
+ {
+ "code": "ProvisioningState/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": null,
+ "time": "2020-06-05T04:59:58.1852966+00:00"
+ },
+ {
+ "code": "PowerState/running",
+ "level": "Info",
+ "displayStatus": "VM running",
+ "message": null,
+ "time": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailabilitySetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailabilitySetsInASubscription.json
new file mode 100644
index 000000000000..4810b2d7dcc7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailabilitySetsInASubscription.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "api-version": "2020-06-01",
+ "$expand": "virtualMachines\\$ref"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "australiasoutheast",
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}"
+ }
+ ]
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ },
+ {
+ "name": "{availabilitySetName}",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}",
+ "type": "Microsoft.Compute/availabilitySets",
+ "location": "westcentralus",
+ "tags": {
+ "{tagName}": "{tagValue}"
+ },
+ "properties": {
+ "platformUpdateDomainCount": 5,
+ "platformFaultDomainCount": 3,
+ "virtualMachines": []
+ },
+ "sku": {
+ "name": "Classic"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailableVmSizes_VirtualMachines.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailableVmSizes_VirtualMachines.json
new file mode 100644
index 000000000000..40ee856d726f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListAvailableVmSizes_VirtualMachines.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVmName",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Standard_A1_V2",
+ "numberOfCores": 1,
+ "osDiskSizeInMB": 1047552,
+ "resourceDiskSizeInMB": 10240,
+ "memoryInMB": 2048,
+ "maxDataDiskCount": 2
+ },
+ {
+ "name": "Standard_A2_V2",
+ "numberOfCores": 2,
+ "osDiskSizeInMB": 1047552,
+ "resourceDiskSizeInMB": 20480,
+ "memoryInMB": 4096,
+ "maxDataDiskCount": 4
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInAResourceGroup.json
new file mode 100644
index 000000000000..67de59c99cb2
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInAResourceGroup.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInASubscription.json
new file mode 100644
index 000000000000..24e22bc92341
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListImagesInASubscription.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS"
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ]
+ },
+ "provisioningState": "created"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
new file mode 100644
index 000000000000..90f25ed0875f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInAResourceGroup.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard",
+ "virtualMachines": [
+ {
+ "id": "string"
+ }
+ ],
+ "virtualMachineScaleSets": [
+ {
+ "id": "string"
+ }
+ ],
+ "availabilitySets": [
+ {
+ "id": "string"
+ }
+ ]
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInASubscription.json
new file mode 100644
index 000000000000..1a5b5220943d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListProximityPlacementGroupsInASubscription.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-01",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard",
+ "virtualMachines": [
+ {
+ "id": "string"
+ }
+ ],
+ "virtualMachineScaleSets": [
+ {
+ "id": "string"
+ }
+ ],
+ "availabilitySets": [
+ {
+ "id": "string"
+ }
+ ]
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..f2120acb750a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension"
+ },
+ {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Succeeded",
+ "publisher": "extPublisher1",
+ "type": "extType1",
+ "typeHandlerVersion": "1.0",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ },
+ "name": "myVMExtension1",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachinesInASubscriptionByLocation.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachinesInASubscriptionByLocation.json
new file mode 100644
index 000000000000..861938ede97e
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ListVirtualMachinesInASubscriptionByLocation.json
@@ -0,0 +1,127 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "location": "eastus",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "vmId": "{vmId}",
+ "availabilitySet": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_A0"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "4.127.20170406"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "test",
+ "createOption": "FromImage",
+ "vhd": {
+ "uri": "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"
+ },
+ "caching": "None",
+ "diskSizeGB": 127
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerName": "Test",
+ "adminUsername": "Foo12",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "eastus",
+ "tags": {
+ "RG": "rg",
+ "testTag": "1"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}",
+ "name": "{virtualMachineName}"
+ },
+ {
+ "properties": {
+ "vmId": "{vmId}",
+ "availabilitySet": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/availabilitySets/{availabilitySetName}"
+ },
+ "hardwareProfile": {
+ "vmSize": "Standard_A0"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "publisher": "MicrosoftWindowsServer",
+ "offer": "WindowsServer",
+ "sku": "2012-R2-Datacenter",
+ "version": "4.127.20170406"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "name": "test",
+ "createOption": "FromImage",
+ "vhd": {
+ "uri": "https://{storageAccountName}.blob.core.windows.net/{containerName}/{vhdName}.vhd"
+ },
+ "caching": "None",
+ "diskSizeGB": 127
+ },
+ "dataDisks": []
+ },
+ "osProfile": {
+ "computerName": "Test",
+ "adminUsername": "Foo12",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ },
+ "secrets": [],
+ "allowExtensionOperations": true
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/networkInterfaces/{networkInterfaceName}"
+ }
+ ]
+ },
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/virtualMachines",
+ "location": "eastus",
+ "tags": {
+ "RG": "rg",
+ "testTag": "1"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{virtualMachineName}",
+ "name": "{virtualMachineName}"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsRequestRateByInterval.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsRequestRateByInterval.json
new file mode 100644
index 000000000000..cd03d47f52b4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsRequestRateByInterval.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "intervalLength": "FiveMins",
+ "blobContainerSasUri": "https://somesasuri",
+ "fromTime": "2018-01-21T01:54:06.862601Z",
+ "toTime": "2018-01-23T01:54:06.862601Z",
+ "groupByResourceName": true
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/RequestRateByInterval_20180121-0154_20180123-0154.csv"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsThrottledRequests.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsThrottledRequests.json
new file mode 100644
index 000000000000..b45c9facafdd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/LogAnalyticsThrottledRequests.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "location": "westus",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "blobContainerSasUri": "https://somesasuri",
+ "fromTime": "2018-01-21T01:54:06.862601Z",
+ "toTime": "2018-01-23T01:54:06.862601Z",
+ "groupByOperationName": true,
+ "groupByResourceName": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "output": "https://crptestar4227.blob.core.windows.net:443/sascontainer/ThrottledRequests_20180121-0154_20180123-0154.csv"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/PatchAProximityPlacementGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/PatchAProximityPlacementGroup.json
new file mode 100644
index 000000000000..ae5e9227525c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/PatchAProximityPlacementGroup.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "proximityPlacementGroupName": "myProximityPlacementGroup",
+ "parameters": {
+ "tags": {
+ "additionalProp1": "string"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myProximityPlacementGroup",
+ "properties": {
+ "proximityPlacementGroupType": "Standard"
+ },
+ "location": "westus",
+ "type": "Microsoft.Compute/proximityPlacementGroups",
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/proximityPlacementGroups/myProximityPlacementGroup"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReapplyVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReapplyVirtualMachine.json
new file mode 100644
index 000000000000..7e49a5e58d4a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReapplyVirtualMachine.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2020-06-01",
+ "vmName": "VMName"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReimageVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReimageVirtualMachine.json
new file mode 100644
index 000000000000..bc4a86a55a5f
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/ReimageVirtualMachine.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "vmName": "myVMName",
+ "parameters": {
+ "tempDisk": true
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json
new file mode 100644
index 000000000000..32e8ac4913ed
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVMScaleSetVM.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2020-06-01",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "sasUriExpirationTimeInMinutes": 60
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "consoleScreenshotBlobUri": "https://storageuri/myvmScaleSetinstance.screenshot.bmp?{saskey}",
+ "serialConsoleLogBlobUri": "https://storageuri/myvmScaleSetinstance.serialconsole.log?{saskey}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json
new file mode 100644
index 000000000000..14a63f37324a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/RetrieveBootDiagnosticsDataVirtualMachine.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2020-06-01",
+ "vmName": "VMName",
+ "sasUriExpirationTimeInMinutes": 60
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "consoleScreenshotBlobUri": "https://storageuri/vm.screenshot.bmp?{sasKey}",
+ "serialConsoleLogBlobUri": "https://storageuri/vm.serialconsole.log?{sasKey}"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVM.json
new file mode 100644
index 000000000000..94d491037c16
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVM.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "api-version": "2020-06-01",
+ "vmName": "VMName"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVmssVM.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVmssVM.json
new file mode 100644
index 000000000000..1fbad058e86b
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/SimulateEvictionOfVmssVM.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "ResourceGroup",
+ "vmScaleSetName": "VmScaleSetName",
+ "api-version": "2020-06-01",
+ "instanceId": "InstanceId"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateImage.json
new file mode 100644
index 000000000000..399bda89d3c0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateImage.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-01",
+ "imageName": "myImage",
+ "parameters": {
+ "properties": {
+ "sourceVirtualMachine": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
+ },
+ "hyperVGeneration": "V1"
+ },
+ "tags": {
+ "department": "HR"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage",
+ "name": "myImage",
+ "type": "Microsoft.Compute/images",
+ "location": "West US",
+ "tags": {
+ "department": "HR"
+ },
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Windows",
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/osimages/osimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot1"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk1"
+ },
+ "osState": "Generalized",
+ "storageAccountType": "Standard_LRS",
+ "diskSizeGB": 20
+ },
+ "dataDisks": [
+ {
+ "lun": 1,
+ "blobUri": "https://mystorageaccount.blob.core.windows.net/dataimages/dataimage.vhd",
+ "snapshot": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot2"
+ },
+ "managedDisk": {
+ "id": "subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/disks/myManagedDisk2"
+ },
+ "storageAccountType": "Standard_LRS"
+ }
+ ],
+ "zoneResilient": true
+ },
+ "provisioningState": "created"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json
new file mode 100644
index 000000000000..65baf29efcbd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVMDetachDataDiskUsingToBeDetachedProperty.json
@@ -0,0 +1,208 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmName": "myVM",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "properties": {
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "caching": "ReadWrite",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "name": "myVMosdisk",
+ "createOption": "FromImage"
+ },
+ "dataDisks": [
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 0,
+ "toBeDetached": true
+ },
+ {
+ "diskSizeGB": 1023,
+ "createOption": "Empty",
+ "lun": 1,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "computerName": "myVM",
+ "adminPassword": "{your-password}"
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/{existing-nic-name}",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023,
+ "toBeDetached": true
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Updating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM",
+ "type": "Microsoft.Compute/virtualMachines",
+ "properties": {
+ "osProfile": {
+ "adminUsername": "{your-username}",
+ "secrets": [],
+ "computerName": "myVM",
+ "windowsConfiguration": {
+ "provisionVMAgent": true,
+ "enableAutomaticUpdates": true
+ }
+ },
+ "networkProfile": {
+ "networkInterfaces": [
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.Network/networkInterfaces/nsgExistingNic",
+ "properties": {
+ "primary": true
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "imageReference": {
+ "sku": "2016-Datacenter",
+ "publisher": "MicrosoftWindowsServer",
+ "version": "latest",
+ "offer": "WindowsServer"
+ },
+ "osDisk": {
+ "osType": "Windows",
+ "caching": "ReadWrite",
+ "createOption": "FromImage",
+ "name": "myVMosdisk",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ }
+ },
+ "dataDisks": [
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 0,
+ "diskSizeGB": 1023,
+ "toBeDetached": true
+ },
+ {
+ "caching": "None",
+ "managedDisk": {
+ "storageAccountType": "Standard_LRS"
+ },
+ "createOption": "Empty",
+ "lun": 1,
+ "diskSizeGB": 1023,
+ "toBeDetached": false
+ }
+ ]
+ },
+ "vmId": "3906fef9-a1e5-4b83-a8a8-540858b41df0",
+ "hardwareProfile": {
+ "vmSize": "Standard_D2_v2"
+ },
+ "provisioningState": "Updating"
+ },
+ "name": "myVM",
+ "location": "westus"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
new file mode 100644
index 000000000000..659ea562168a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/UpdateVirtualMachineScaleSetVMExtensions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myvmScaleSet",
+ "instanceId": "0",
+ "vmExtensionName": "myVMExtension",
+ "api-version": "2020-06-01",
+ "extensionParameters": {
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "myVMExtension",
+ "location": "westus",
+ "type": "Microsoft.Compute/virtualMachineScaleSets/virtualMachines/extensions",
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/myvmScaleSet/virtualMachines/0/extensions/myVMExtension",
+ "properties": {
+ "autoUpgradeMinorVersion": true,
+ "provisioningState": "Creating",
+ "publisher": "extPublisher",
+ "type": "extType",
+ "typeHandlerVersion": "1.2",
+ "settings": {
+ "UserName": "xyz@microsoft.com"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetExtensionRollingUpgrade.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetExtensionRollingUpgrade.json
new file mode 100644
index 000000000000..73f6686c3ffb
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetExtensionRollingUpgrade.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "{vmss-name}",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetRunCommand.json
new file mode 100644
index 000000000000..536c75dd60f4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VMScaleSetRunCommand.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "vmScaleSetName": "myVirtualMachineScaleSet",
+ "instanceId": "0",
+ "api-version": "2020-06-01",
+ "parameters": {
+ "commandId": "RunPowerShellScript",
+ "script": [
+ "Write-Host Hello World!"
+ ]
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "code": "ComponentStatus/StdOut/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Hello World!"
+ },
+ {
+ "code": "ComponentStatus/StdErr/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": ""
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineAssessPatches.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineAssessPatches.json
new file mode 100644
index 000000000000..7c0bd491c975
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineAssessPatches.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded",
+ "assessmentActivityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "rebootPending": true,
+ "criticalAndSecurityPatchCount": 1,
+ "otherPatchCount": 2,
+ "startDateTime": "2020-04-24T21:02:04.2556154Z",
+ "patches": [
+ {
+ "patchId": "35428702-5784-4ba4-a6e0-5222258b5411",
+ "name": "Definition Update for Windows Defender Antivirus - KB2267602 (Definition 1.279.1373.0)",
+ "version": "",
+ "kbid": "2267602",
+ "classifications": [
+ "Definition Updates"
+ ],
+ "rebootBehavior": "NeverReboots",
+ "activityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "publishedDate": "2018-11-07T00:00:00Z",
+ "lastModifiedDateTime": "2020-04-24T21:18:45.2830263Z",
+ "assessmentState": "Available"
+ },
+ {
+ "patchId": "39f9cdd1-795c-4d0e-8c0a-73ab3f31746d",
+ "name": "Windows Malicious Software Removal Tool x64 - October 2018 (KB890830)",
+ "version": "",
+ "kbid": "890830",
+ "classifications": [
+ "Update Rollups"
+ ],
+ "rebootBehavior": "CanRequestReboot",
+ "activityId": "68f8b292-dfc2-4646-9781-33cc88631968",
+ "publishedDate": "2018-11-07T00:00:00Z",
+ "lastModifiedDateTime": "2020-04-24T21:18:45.2830263Z",
+ "assessmentState": "Available"
+ }
+ ],
+ "error": null
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommand.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommand.json
new file mode 100644
index 000000000000..e4be08a561be
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommand.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "resourceGroupName": "crptestar98131",
+ "vmName": "vm3036",
+ "$top": 1,
+ "api-version": "2020-06-01",
+ "monitor": "true",
+ "parameters": {
+ "commandId": "RunPowerShellScript"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "code": "ComponentStatus/StdOut/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": "This is a sample script with parameters value1 value2"
+ },
+ {
+ "code": "ComponentStatus/StdErr/succeeded",
+ "level": "Info",
+ "displayStatus": "Provisioning succeeded",
+ "message": ""
+ }
+ ]
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandGet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandGet.json
new file mode 100644
index 000000000000..c2a33e7a7bfd
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "24fb23e3-6ba3-41f0-9b6e-e41131d5d61e",
+ "location": "SoutheastAsia",
+ "commandId": "RunPowerShellScript",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "script": [
+ "param(",
+ " [string]$arg1,",
+ " [string]$arg2",
+ ")",
+ "Write-Host This is a sample script with parameters $arg1 $arg2"
+ ],
+ "parameters": [
+ {
+ "name": "arg1",
+ "type": "string",
+ "defaultValue": "value1"
+ },
+ {
+ "name": "arg2",
+ "type": "string",
+ "defaultValue": "value2"
+ }
+ ],
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunPowerShellScript",
+ "osType": "Windows",
+ "label": "Executes a PowerShell script",
+ "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandList.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandList.json
new file mode 100644
index 000000000000..890839b1960d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/examples/VirtualMachineRunCommandList.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "SoutheastAsia",
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "EnableRemotePS",
+ "osType": "Windows",
+ "label": "Enable remote PowerShell",
+ "description": "Configure the machine to enable remote PowerShell."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "IPConfig",
+ "osType": "Windows",
+ "label": "List IP configuration",
+ "description": "Shows detailed information for the IP address, subnet mask and default gateway for each adapter bound to TCP/IP."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunPowerShellScript",
+ "osType": "Windows",
+ "label": "Executes a PowerShell script",
+ "description": "Custom multiline PowerShell script should be defined in script property. Optional parameters can be set in parameters property."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RunShellScript",
+ "osType": "Linux",
+ "label": "Executes a Linux shell script",
+ "description": "Custom multiline shell script should be defined in script property. Optional parameters can be set in parameters property."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ifconfig",
+ "osType": "Linux",
+ "label": "List network configuration",
+ "description": "Get the configuration of all network interfaces."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "EnableAdminAccount",
+ "osType": "Windows",
+ "label": "Enable administrator account",
+ "description": "Checks if the local Administrator account is disabled, and if so enables it."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ResetAccountPassword",
+ "osType": "Windows",
+ "label": "Reset built-in Administrator account password",
+ "description": "Reset built-in Administrator account password."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "RDPSettings",
+ "osType": "Windows",
+ "label": "Verify RDP Listener Settings",
+ "description": "Checks registry settings and domain policy settings. Suggests policy actions if machine is part of a domain or modifies the settings to default values."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "SetRDPPort",
+ "osType": "Windows",
+ "label": "Set Remote Desktop port",
+ "description": "Sets the default or user specified port number for Remote Desktop connections. Enables firewall rule for inbound access to the port."
+ },
+ {
+ "$schema": "http://schema.management.azure.com/schemas/2016-11-17/runcommands.json",
+ "id": "ResetRDPCert",
+ "osType": "Windows",
+ "label": "Restore RDP Authentication mode to defaults",
+ "description": "Removes the SSL certificate tied to the RDP listener and restores the RDP listerner security to default. Use this script if you see any issues with the certificate."
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json
new file mode 100644
index 000000000000..9759cd8205e8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-01/runCommands.json
@@ -0,0 +1,472 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "RunCommandsClient",
+ "description": "The Run Commands Client.",
+ "version": "2020-06-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json",
+ "text/json"
+ ],
+ "produces": [
+ "application/json",
+ "text/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_List",
+ "x-ms-examples": {
+ "VirtualMachineRunCommandList": {
+ "$ref": "./examples/VirtualMachineRunCommandList.json"
+ }
+ },
+ "description": "Lists all available run commands for a subscription in a location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which run commands is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/locations/{location}/runCommands/{commandId}": {
+ "get": {
+ "tags": [
+ "VirtualMachineRunCommands"
+ ],
+ "operationId": "VirtualMachineRunCommands_Get",
+ "x-ms-examples": {
+ "VirtualMachineRunCommandGet": {
+ "$ref": "./examples/VirtualMachineRunCommandGet.json"
+ }
+ },
+ "description": "Gets specific run command for a subscription in a location.",
+ "parameters": [
+ {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The location upon which run commands is queried.",
+ "pattern": "^[-\\w\\._]+$"
+ },
+ {
+ "name": "commandId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The command id."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandDocument"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/runCommand": {
+ "post": {
+ "tags": [
+ "VirtualMachines"
+ ],
+ "operationId": "VirtualMachines_RunCommand",
+ "x-ms-examples": {
+ "VirtualMachineRunCommand": {
+ "$ref": "./examples/VirtualMachineRunCommand.json"
+ }
+ },
+ "description": "Run command on the VM.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandInput"
+ },
+ "description": "Parameters supplied to the Run command operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachineScaleSets/{vmScaleSetName}/virtualmachines/{instanceId}/runCommand": {
+ "post": {
+ "tags": [
+ "VirtualMachineScaleSetVMs"
+ ],
+ "operationId": "VirtualMachineScaleSetVMs_RunCommand",
+ "x-ms-examples": {
+ "VirtualMachineScaleSetVMs_RunCommand": {
+ "$ref": "./examples/VMScaleSetRunCommand.json"
+ }
+ },
+ "description": "Run command on a virtual machine in a VM scale set.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "vmScaleSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the VM scale set."
+ },
+ {
+ "name": "instanceId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The instance ID of the virtual machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/RunCommandInput"
+ },
+ "description": "Parameters supplied to the Run command operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/RunCommandResult"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "RunCommandInputParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The run command parameter name."
+ },
+ "value": {
+ "type": "string",
+ "description": "The run command parameter value."
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "description": "Describes the properties of a run command parameter."
+ },
+ "RunCommandInput": {
+ "properties": {
+ "commandId": {
+ "type": "string",
+ "description": "The run command id."
+ },
+ "script": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Optional. The script to be executed. When this value is given, the given script will override the default script of the command."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandInputParameter"
+ },
+ "description": "The run command parameters."
+ }
+ },
+ "required": [
+ "commandId"
+ ],
+ "description": "Capture Virtual Machine parameters."
+ },
+ "RunCommandParameterDefinition": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The run command parameter name."
+ },
+ "type": {
+ "type": "string",
+ "description": "The run command parameter type."
+ },
+ "defaultValue": {
+ "type": "string",
+ "description": "The run command parameter default value."
+ },
+ "required": {
+ "type": "boolean",
+ "description": "The run command parameter required.",
+ "default": false
+ }
+ },
+ "required": [
+ "name",
+ "type"
+ ],
+ "description": "Describes the properties of a run command parameter."
+ },
+ "RunCommandDocumentBase": {
+ "properties": {
+ "$schema": {
+ "type": "string",
+ "description": "The VM run command schema."
+ },
+ "id": {
+ "type": "string",
+ "description": "The VM run command id."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "label": {
+ "type": "string",
+ "description": "The VM run command label."
+ },
+ "description": {
+ "type": "string",
+ "description": "The VM run command description."
+ }
+ },
+ "required": [
+ "$schema",
+ "id",
+ "osType",
+ "label",
+ "description"
+ ],
+ "description": "Describes the properties of a Run Command metadata."
+ },
+ "RunCommandDocument": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/RunCommandDocumentBase"
+ }
+ ],
+ "properties": {
+ "script": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "The script to be executed."
+ },
+ "parameters": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandParameterDefinition"
+ },
+ "description": "The parameters used by the script."
+ }
+ },
+ "required": [
+ "script"
+ ],
+ "description": "Describes the properties of a Run Command."
+ },
+ "RunCommandListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/RunCommandDocumentBase"
+ },
+ "description": "The list of virtual machine run commands."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of run commands. Call ListNext() with this to fetch the next page of run commands."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Virtual Machine operation response."
+ },
+ "InstanceViewStatus": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": false
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ },
+ "RunCommandResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/InstanceViewStatus"
+ },
+ "description": "Run command operation response."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json
new file mode 100644
index 000000000000..6c6f3836fb19
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/disk.json
@@ -0,0 +1,2754 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DiskResourceProviderClient",
+ "description": "The Disk Resource Provider Client.",
+ "version": "2020-06-30"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}": {
+ "put": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_CreateOrUpdate",
+ "description": "Creates or updates a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "disk",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "Disk object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create an empty managed disk.": {
+ "$ref": "./examples/CreateAnEmptyManagedDisk.json"
+ },
+ "Create a managed disk from a platform image.": {
+ "$ref": "./examples/CreateAManagedDiskFromAPlatformImage.json"
+ },
+ "Create a managed disk from an existing managed disk in the same or different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskFromAnExistingManagedDisk.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a managed disk by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ },
+ "Create a managed disk by copying a snapshot.": {
+ "$ref": "./examples/CreateAManagedDiskByCopyingASnapshot.json"
+ },
+ "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 and associate with disk encryption set.": {
+ "$ref": "./examples/CreateAManagedDiskWithDiskEncryptionSet.json"
+ },
+ "Create an ultra managed disk with logicalSectorSize 512E": {
+ "$ref": "./examples/CreateAManagedDiskWithLogicalSectorSize.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"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Get",
+ "description": "Gets information about a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Disk"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a managed disk.": {
+ "$ref": "./examples/GetInformationAboutAManagedDisk.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_Delete",
+ "description": "Deletes a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_ListByResourceGroup",
+ "description": "Lists all the disks under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a resource group.": {
+ "$ref": "./examples/ListManagedDisksInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/disks": {
+ "get": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_List",
+ "description": "Lists all the disks under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all managed disks in a subscription.": {
+ "$ref": "./examples/ListManagedDisksInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_GrantAccess",
+ "description": "Grants access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get disk access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/disks/{diskName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Disks"
+ ],
+ "operationId": "Disks_RevokeAccess",
+ "description": "Revokes access to a disk.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}": {
+ "put": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_CreateOrUpdate",
+ "description": "Creates or updates a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "Snapshot object supplied in the body of the Put disk operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create a snapshot from an existing snapshot in the same or a different subscription.": {
+ "$ref": "./examples/CreateASnapshotFromAnExistingSnapshot.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from the same subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json"
+ },
+ "Create a snapshot by importing an unmanaged blob from a different subscription.": {
+ "$ref": "./examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Update",
+ "description": "Updates (patches) a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "snapshot",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SnapshotUpdate"
+ },
+ "description": "Snapshot object supplied in the body of the Patch snapshot operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Get",
+ "description": "Gets information about a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Snapshot"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a snapshot.": {
+ "$ref": "./examples/GetInformationAboutASnapshot.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_Delete",
+ "description": "Deletes a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the snapshot is deleted, this is an expected error code."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_ListByResourceGroup",
+ "description": "Lists snapshots under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a resource group.": {
+ "$ref": "./examples/ListSnapshotsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/snapshots": {
+ "get": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_List",
+ "description": "Lists snapshots under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/SnapshotList"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all snapshots in a subscription.": {
+ "$ref": "./examples/ListSnapshotsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/beginGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_GrantAccess",
+ "description": "Grants access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "grantAccessData",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GrantAccessData"
+ },
+ "description": "Access data object supplied in the body of the get snapshot access operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AccessUri"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/snapshots/{snapshotName}/endGetAccess": {
+ "post": {
+ "tags": [
+ "Snapshots"
+ ],
+ "operationId": "Snapshots_RevokeAccess",
+ "description": "Revokes access to a snapshot.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/SnapshotNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "location"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets/{diskEncryptionSetName}": {
+ "put": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_CreateOrUpdate",
+ "description": "Creates or updates a disk encryption set",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskEncryptionSet",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ },
+ "description": "disk encryption set object supplied in the body of the Put disk encryption set operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "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"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Update",
+ "description": "Updates (patches) a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "diskEncryptionSet",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetUpdate"
+ },
+ "description": "disk encryption set object supplied in the body of the Patch disk encryption set operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a disk encryption set.": {
+ "$ref": "./examples/UpdateADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Get",
+ "description": "Gets information about a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get information about a disk encryption set.": {
+ "$ref": "./examples/GetInformationAboutADiskEncryptionSet.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_Delete",
+ "description": "Deletes a disk encryption set.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DiskEncryptionSetNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "If the disk encryption set is already deleted, this is an expected error code."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a disk encryption set.": {
+ "$ref": "./examples/DeleteADiskEncryptionSet.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_ListByResourceGroup",
+ "description": "Lists all the disk encryption sets under a resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a resource group.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInAResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Compute/diskEncryptionSets": {
+ "get": {
+ "tags": [
+ "DiskEncryptionSets"
+ ],
+ "operationId": "DiskEncryptionSets_List",
+ "description": "Lists all the disk encryption sets under a subscription.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/DiskEncryptionSetList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all disk encryption sets in a subscription.": {
+ "$ref": "./examples/ListDiskEncryptionSetsInASubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "Disk": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A relative URI containing the ID of the VM that has the disk attached."
+ },
+ "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."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Disk resource."
+ },
+ "DiskUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/DiskSku"
+ }
+ },
+ "description": "Disk update resource."
+ },
+ "DiskList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Disk"
+ },
+ "description": "A list of disks."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disks. Call ListNext() with this to fetch the next page of disks."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Disks operation response."
+ },
+ "DiskSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "StandardSSD_LRS",
+ "UltraSSD_LRS"
+ ],
+ "x-ms-enum": {
+ "name": "DiskStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage. Best for backup, non-critical, and infrequent access."
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage. Best for production and performance sensitive workloads."
+ },
+ {
+ "value": "StandardSSD_LRS",
+ "description": "Standard SSD locally redundant storage. Best for web servers, lightly used enterprise applications and dev/test."
+ },
+ {
+ "value": "UltraSSD_LRS",
+ "description": "Ultra SSD locally redundant storage. Best for IO-intensive workloads such as SAP HANA, top tier databases (for example, SQL, Oracle), and other transaction-heavy workloads."
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The disks sku name. Can be Standard_LRS, Premium_LRS, StandardSSD_LRS, or UltraSSD_LRS."
+ },
+ "SnapshotSku": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "enum": [
+ "Standard_LRS",
+ "Premium_LRS",
+ "Standard_ZRS"
+ ],
+ "x-ms-enum": {
+ "name": "SnapshotStorageAccountTypes",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Standard_LRS",
+ "description": "Standard HDD locally redundant storage"
+ },
+ {
+ "value": "Premium_LRS",
+ "description": "Premium SSD locally redundant storage"
+ },
+ {
+ "value": "Standard_ZRS",
+ "description": "Standard zone redundant storage"
+ }
+ ]
+ },
+ "description": "The sku name."
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The sku tier."
+ }
+ },
+ "description": "The snapshots sku name. Can be Standard_LRS, Premium_LRS, or Standard_ZRS."
+ },
+ "DiskProperties": {
+ "properties": {
+ "timeCreated": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time when the disk was created."
+ },
+ "osType": {
+ "type": "string",
+ "description": "The Operating System type.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": false
+ }
+ },
+ "hyperVGeneration": {
+ "type": "string",
+ "description": "The hypervisor generation of the Virtual Machine. Applicable to OS disks only.",
+ "enum": [
+ "V1",
+ "V2"
+ ],
+ "x-ms-enum": {
+ "name": "HyperVGeneration",
+ "modelAsString": true
+ }
+ },
+ "creationData": {
+ "$ref": "#/definitions/CreationData",
+ "description": "Disk source information. CreationData information cannot be changed after the disk has been created."
+ },
+ "diskSizeGB": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If creationData.createOption is Empty, this field is mandatory and it indicates the size of the disk to create. If this field is present for updates or creation with other options, it indicates a resize. Resizes are only allowed if the disk is not attached to a running VM, and can only increase the disk's size."
+ },
+ "diskSizeBytes": {
+ "type": "integer",
+ "format": "int64",
+ "readOnly": true,
+ "description": "The size of the disk in bytes. This field is read only."
+ },
+ "uniqueId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Unique Guid identifying the resource."
+ },
+ "encryptionSettingsCollection": {
+ "$ref": "#/definitions/EncryptionSettingsCollection",
+ "description": "Encryption settings collection used for Azure Disk Encryption, can contain multiple encryption settings per disk or snapshot."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk provisioning state."
+ },
+ "diskIOPSReadWrite": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The number of IOPS allowed for this disk; only settable for UltraSSD disks. One operation can transfer between 4k and 256k bytes."
+ },
+ "diskMBpsReadWrite": {
+ "type": "integer",
+ "format": "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"
+ },
+ "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."
+ }
+ },
+ "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
+ }
+ },
+ "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."
+ }
+ },
+ "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/KeyVaultAndKeyReference",
+ "description": "The key vault key which is currently used by this disk encryption set."
+ },
+ "previousKeys": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference"
+ },
+ "description": "A readonly collection of key vault keys previously used by this disk encryption set while a key rotation is in progress. It will be empty if there is no ongoing key rotation."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The disk encryption set provisioning state."
+ }
+ }
+ },
+ "EncryptionSettingsCollection": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Set this flag to true and provide DiskEncryptionKey and optional KeyEncryptionKey to enable encryption. Set this flag to false and remove DiskEncryptionKey and KeyEncryptionKey to disable encryption. If EncryptionSettings is null in the request object, the existing settings remain unchanged."
+ },
+ "encryptionSettings": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EncryptionSettingsElement"
+ },
+ "description": "A collection of encryption settings, one for each disk volume."
+ },
+ "encryptionSettingsVersion": {
+ "type": "string",
+ "description": "Describes what type of encryption is used for the disks. Once this field is set, it cannot be overwritten. '1.0' corresponds to Azure Disk Encryption with AAD app.'1.1' corresponds to Azure Disk Encryption."
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "Encryption settings for disk or snapshot"
+ },
+ "EncryptionSettingsElement": {
+ "properties": {
+ "diskEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndSecretReference",
+ "description": "Key Vault Secret Url and vault id of the disk encryption key"
+ },
+ "keyEncryptionKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference",
+ "description": "Key Vault Key Url and vault id of the key encryption key. KeyEncryptionKey is optional and when provided is used to unwrap the disk encryption key."
+ }
+ },
+ "description": "Encryption settings for one disk volume."
+ },
+ "KeyVaultAndSecretReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "secretUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "secretUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Secret Url and vault id of the encryption key "
+ },
+ "KeyVaultAndKeyReference": {
+ "properties": {
+ "sourceVault": {
+ "$ref": "#/definitions/SourceVault",
+ "description": "Resource id of the KeyVault containing the key or secret"
+ },
+ "keyUrl": {
+ "type": "string",
+ "description": "Url pointing to a key or secret in KeyVault"
+ }
+ },
+ "required": [
+ "keyUrl",
+ "sourceVault"
+ ],
+ "description": "Key Vault Key Url and vault id of KeK, KeK is optional and when provided is used to unwrap the encryptionKey"
+ },
+ "SourceVault": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource Id"
+ }
+ },
+ "description": "The vault id is an Azure Resource Manager Resource id in the form /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.KeyVault/vaults/{vaultName}"
+ },
+ "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"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "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."
+ }
+ ]
+ }
+ },
+ "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."
+ }
+ },
+ "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."
+ }
+ },
+ "description": "Snapshot resource update properties."
+ },
+ "DiskEncryptionSetUpdateProperties": {
+ "properties": {
+ "encryptionType": {
+ "$ref": "#/definitions/DiskEncryptionSetType"
+ },
+ "activeKey": {
+ "$ref": "#/definitions/KeyVaultAndKeyReference"
+ }
+ },
+ "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",
+ "ActiveSAS",
+ "ReadyToUpload",
+ "ActiveUpload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskState",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Unattached",
+ "description": "The disk is not being used and can be attached to a VM."
+ },
+ {
+ "value": "Attached",
+ "description": "The disk is currently mounted to a running VM."
+ },
+ {
+ "value": "Reserved",
+ "description": "The disk is mounted to a stopped-deallocated VM"
+ },
+ {
+ "value": "ActiveSAS",
+ "description": "The disk currently has an Active SAS Uri associated with it."
+ },
+ {
+ "value": "ReadyToUpload",
+ "description": "A disk is ready to be created by upload by requesting a write token."
+ },
+ {
+ "value": "ActiveUpload",
+ "description": "A disk is created for upload and a write token has been issued for uploading to it."
+ }
+ ]
+ }
+ },
+ "CreationData": {
+ "properties": {
+ "createOption": {
+ "type": "string",
+ "enum": [
+ "Empty",
+ "Attach",
+ "FromImage",
+ "Import",
+ "Copy",
+ "Restore",
+ "Upload"
+ ],
+ "x-ms-enum": {
+ "name": "DiskCreateOption",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Empty",
+ "description": "Create an empty data disk of a size given by diskSizeGB."
+ },
+ {
+ "value": "Attach",
+ "description": "Disk will be attached to a VM."
+ },
+ {
+ "value": "FromImage",
+ "description": "Create a new disk from a platform image specified by the given imageReference 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."
+ }
+ ]
+ },
+ "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."
+ }
+ },
+ "required": [
+ "createOption"
+ ],
+ "description": "Data used when creating a disk."
+ },
+ "ImageDiskReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "A relative uri containing either a Platform Image Repository or user image reference."
+ },
+ "lun": {
+ "type": "integer",
+ "format": "int32",
+ "description": "If the disk is created from an image's data disk, this is an index that indicates which of the data disks in the image to use. For OS disks, this field is null."
+ }
+ },
+ "required": [
+ "id"
+ ],
+ "description": "The source image used for creating the disk."
+ },
+ "GrantAccessData": {
+ "properties": {
+ "access": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Read",
+ "Write"
+ ],
+ "x-ms-enum": {
+ "name": "AccessLevel",
+ "modelAsString": true
+ }
+ },
+ "durationInSeconds": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Time duration in seconds until the SAS access expires."
+ }
+ },
+ "required": [
+ "access",
+ "durationInSeconds"
+ ],
+ "description": "Data used for requesting a SAS."
+ },
+ "AccessUri": {
+ "properties": {
+ "accessSAS": {
+ "readOnly": true,
+ "type": "string",
+ "description": "A SAS uri for accessing a disk."
+ }
+ },
+ "description": "A disk access SAS uri."
+ },
+ "Snapshot": {
+ "properties": {
+ "managedBy": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unused. Always Null."
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Snapshot resource."
+ },
+ "SnapshotUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/SnapshotUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "sku": {
+ "$ref": "#/definitions/SnapshotSku"
+ }
+ },
+ "description": "Snapshot update resource."
+ },
+ "SnapshotList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Snapshot"
+ },
+ "description": "A list of snapshots."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of snapshots. Call ListNext() with this to fetch the next page of snapshots."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List Snapshots operation response."
+ },
+ "EncryptionSetIdentity": {
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "SystemAssigned"
+ ],
+ "x-ms-enum": {
+ "name": "DiskEncryptionSetIdentityType",
+ "modelAsString": true
+ },
+ "description": "The type of Managed Identity used by the DiskEncryptionSet. Only SystemAssigned is supported."
+ },
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The object id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-identity-principal-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the Managed Identity Resource. This will be sent to the RP from ARM via the x-ms-client-tenant-id header in the PUT request if the resource has a systemAssigned(implicit) identity"
+ }
+ },
+ "description": "The managed identity for the disk encryption set. It should be given permission on the key vault before it can be used to encrypt disks."
+ },
+ "DiskEncryptionSet": {
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/EncryptionSetIdentity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/EncryptionSetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "disk encryption set resource."
+ },
+ "DiskEncryptionSetUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DiskEncryptionSetUpdateProperties"
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "disk encryption set update resource."
+ },
+ "DiskEncryptionSetList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DiskEncryptionSet"
+ },
+ "description": "A list of disk encryption sets."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of disk encryption sets. Call ListNext() with this to fetch the next page of disk encryption sets."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List disk encryption set operation response."
+ },
+ "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."
+ },
+ "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."
+ },
+ "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"
+ }
+ },
+ "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."
+ },
+ "PrivateLinkResourceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "Array of private link resources",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ }
+ }
+ },
+ "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"
+ },
+ "description": "The Api error details"
+ },
+ "innererror": {
+ "$ref": "#/definitions/InnerError",
+ "description": "The Api inner error"
+ },
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error."
+ },
+ "ApiErrorBase": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The error code."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error."
+ },
+ "message": {
+ "type": "string",
+ "description": "The error message."
+ }
+ },
+ "description": "Api error base."
+ },
+ "InnerError": {
+ "properties": {
+ "exceptiontype": {
+ "type": "string",
+ "description": "The exception type."
+ },
+ "errordetail": {
+ "type": "string",
+ "description": "The internal error message or exception dump."
+ }
+ },
+ "description": "Inner error details."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskNameParameter": {
+ "name": "diskName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the managed disk that is being created. The name can't be changed after the disk is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "SnapshotNameParameter": {
+ "name": "snapshotName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the snapshot that is being created. The name can't be changed after the snapshot is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The max name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "DiskEncryptionSetNameParameter": {
+ "name": "diskEncryptionSetName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the disk encryption set that is being created. The name can't be changed after the disk encryption set is created. Supported characters for the name are a-z, A-Z, 0-9 and _. The maximum name length is 80 characters.",
+ "x-ms-parameter-location": "method"
+ },
+ "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"
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json
new file mode 100644
index 000000000000..e0eb2d326d00
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskAccess.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json
new file mode 100644
index 000000000000..fbd1a70c3541
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateADiskEncryptionSet.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json
new file mode 100644
index 000000000000..f7e4e41bdd8c
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByCopyingASnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..589a24e6fc0d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..a3776d835c85
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json
new file mode 100644
index 000000000000..7a05366bc472
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAPlatformImage.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "location": "West US",
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "name": "myDisk",
+ "location": "West US",
+ "properties": {
+ "provisioningState": "Updating",
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "FromImage",
+ "imageReference": {
+ "id": "/Subscriptions/{subscriptionId}/Providers/Microsoft.Compute/Locations/uswest/Publishers/Microsoft/ArtifactTypes/VMImage/Offers/{offer}"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
new file mode 100644
index 000000000000..68922f429d08
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskFromAnExistingManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json
new file mode 100644
index 000000000000..95857a36f193
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskAccess.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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}"
+ },
+ "location": "West US",
+ "name": "myDisk"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json
new file mode 100644
index 000000000000..934ee8105dae
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithDiskEncryptionSet.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json
new file mode 100644
index 000000000000..ef1e7cffc76d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedDiskWithLogicalSectorSize.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateAManagedUploadDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json
new file mode 100644
index 000000000000..1f5a6c842eed
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAManagedUploadDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
new file mode 100644
index 000000000000..4938448c4452
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromADifferentSubscription.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
new file mode 100644
index 000000000000..5a74852eb5e5
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotByImportingAnUnmanagedBlobFromTheSameSubscription.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json
new file mode 100644
index 000000000000..dad908891df8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateASnapshotFromAnExistingSnapshot.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/CreateAnEmptyManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json
new file mode 100644
index 000000000000..07b205ae4e1a
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/CreateAnEmptyManagedDisk.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/DeleteADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json
new file mode 100644
index 000000000000..8b2a0672cdda
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskAccess.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskAccessName": "myDiskAccess",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json
new file mode 100644
index 000000000000..7110b2621858
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/DeleteADiskEncryptionSet.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "api-version": "2020-06-30"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json
new file mode 100644
index 000000000000..81224cffb7dc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetDiskAccessPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/GetInformationAboutADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json
new file mode 100644
index 000000000000..241f0a434455
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccess.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json
new file mode 100644
index 000000000000..675516844252
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskAccessWithPrivateEndpoints.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json
new file mode 100644
index 000000000000..096dbf8c6f25
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutADiskEncryptionSet.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/GetInformationAboutAManagedDisk.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json
new file mode 100644
index 000000000000..7b81ebdf8901
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutAManagedDisk.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myManagedDisk"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "managedBy": "/subscriptions/123caaa-123v-v211-a49f-f88ccac5bf88/resourceGroups/ResourceGroupName/providers/Microsoft.Compute/virtualMachines/TestVM414689371c88843d65ec",
+ "sku": {
+ "name": "Standard_LRS"
+ },
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 10,
+ "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/2020-06-30/examples/GetInformationAboutASnapshot.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json
new file mode 100644
index 000000000000..be9a074a1295
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/GetInformationAboutASnapshot.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "snapshotName": "mySnapshot"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "osType": "Windows",
+ "creationData": {
+ "createOption": "Empty"
+ },
+ "diskSizeGB": 100,
+ "encryptionSettingsCollection": {
+ "enabled": true,
+ "encryptionSettings": [
+ {
+ "diskEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "secretUrl": "https://myvmvault.vault-int.azure-int.net/secrets/{secret}"
+ },
+ "keyEncryptionKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ }
+ }
+ ]
+ },
+ "encryption": {
+ "type": "EncryptionAtRestWithPlatformKey"
+ },
+ "timeCreated": "2016-12-28T04:41:35.079872+00:00",
+ "provisioningState": "Succeeded"
+ },
+ "type": "Microsoft.Compute/snapshots",
+ "location": "westus",
+ "tags": {
+ "department": "Development",
+ "project": "Snapshots"
+ },
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.Compute/snapshots/mySnapshot",
+ "name": "mySnapshot"
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json
new file mode 100644
index 000000000000..6b4fd51a4884
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInAResourceGroup.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30"
+ },
+ "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/2020-06-30/examples/ListDiskAccessesInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json
new file mode 100644
index 000000000000..61e8dc0b8396
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskAccessesInASubscription.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-30"
+ },
+ "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/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json
new file mode 100644
index 000000000000..a6ce0eb683d7
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetAssociatedResources.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "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/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json
new file mode 100644
index 000000000000..6dfbba43554d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInAResourceGroup.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30"
+ },
+ "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/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json
new file mode 100644
index 000000000000..00713b44d520
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListDiskEncryptionSetsInASubscription.json
@@ -0,0 +1,63 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-30"
+ },
+ "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/2020-06-30/examples/ListManagedDisksInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json
new file mode 100644
index 000000000000..f74e45c654c0
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInAResourceGroup.json
@@ -0,0 +1,120 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30"
+ },
+ "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/2020-06-30/examples/ListManagedDisksInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json
new file mode 100644
index 000000000000..459fe55fd6d9
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListManagedDisksInASubscription.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-30"
+ },
+ "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/2020-06-30/examples/ListSnapshotsInAResourceGroup.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json
new file mode 100644
index 000000000000..0874439e3ab8
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInAResourceGroup.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30"
+ },
+ "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/2020-06-30/examples/ListSnapshotsInASubscription.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json
new file mode 100644
index 000000000000..d7c9b1c683bc
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/ListSnapshotsInASubscription.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-06-30"
+ },
+ "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/2020-06-30/examples/UpdateADiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json
new file mode 100644
index 000000000000..c7a4b67d60c4
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskAccess.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskAccessName": "myDiskAccess",
+ "diskAccess": {
+ "tags": {
+ "department": "Development",
+ "project": "PrivateEndpoints"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "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/2020-06-30/examples/UpdateADiskEncryptionSet.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json
new file mode 100644
index 000000000000..e224ff0d64bf
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateADiskEncryptionSet.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskEncryptionSetName": "myDiskEncryptionSet",
+ "diskEncryptionSet": {
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey"
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "body": {
+ "name": "myDiskEncryptionSet",
+ "location": "West US",
+ "identity": {
+ "type": "SystemAssigned"
+ },
+ "properties": {
+ "activeKey": {
+ "sourceVault": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.KeyVault/vaults/myVMVault"
+ },
+ "keyUrl": "https://myvmvault.vault-int.azure-int.net/keys/{key}"
+ },
+ "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/{key}"
+ },
+ "encryptionType": "EncryptionAtRestWithCustomerKey",
+ "previousKeys": []
+ },
+ "tags": {
+ "department": "Development",
+ "project": "Encryption"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json
new file mode 100644
index 000000000000..9a3a372e812d
--- /dev/null
+++ b/specification/compute/resource-manager/Microsoft.Compute/stable/2020-06-30/examples/UpdateAManagedDiskToRemoveDiskAccess.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-06-30",
+ "diskName": "myDisk",
+ "disk": {
+ "properties": {
+ "networkAccessPolicy": "AllowAll"
+ }
+ }
+ },
+ "responses": {
+ "202": {
+ "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/readme.azureresourceschema.md b/specification/compute/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..fe54530ede0c
--- /dev/null
+++ b/specification/compute/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,295 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-containerservice-2017-01-31
+ - tag: schema-containerservice-2016-09-30
+ - tag: schema-containerservice-2016-03-30
+ - tag: schema-containerservice-2015-11-01-preview
+ - tag: schema-compute-2020-06-30
+ - tag: schema-compute-2020-06-01
+ - tag: schema-compute-2020-05-01
+ - tag: schema-compute-2019-12-01
+ - tag: schema-compute-2019-11-01
+ - tag: schema-compute-2019-07-01
+ - tag: schema-compute-2019-04-01
+ - tag: schema-compute-2019-03-01
+ - tag: schema-compute-2018-10-01
+ - tag: schema-compute-2018-09-30
+ - tag: schema-compute-2018-06-01
+ - tag: schema-compute-2018-04-01
+ - tag: schema-compute-2017-12-01
+ - tag: schema-compute-2017-09-01
+ - tag: schema-compute-2017-03-30
+ - tag: schema-compute-2016-04-30-preview
+ - tag: schema-compute-2016-03-30
+ - tag: schema-compute-2015-06-15
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-containerservice-2017-01-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-01-31/containerService.json
+
+```
+
+### Tag: schema-containerservice-2016-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2016-09-30/containerService.json
+
+```
+
+### Tag: schema-containerservice-2016-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2016-03-30/containerService.json
+
+```
+
+### Tag: schema-containerservice-2015-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2015-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2015-11-01-preview/containerService.json
+
+```
+
+### Tag: schema-compute-2020-06-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2020-06-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2020-06-30/disk.json
+
+```
+
+### Tag: schema-compute-2020-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2020-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2020-06-01/compute.json
+ - Microsoft.Compute/stable/2020-06-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2020-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2020-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2020-05-01/disk.json
+
+```
+
+### Tag: schema-compute-2019-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-12-01/gallery.json
+ - Microsoft.Compute/stable/2019-12-01/compute.json
+ - Microsoft.Compute/stable/2019-12-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2019-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-11-01/disk.json
+
+```
+
+### Tag: schema-compute-2019-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-07-01/compute.json
+ - Microsoft.Compute/stable/2019-07-01/runCommands.json
+ - Microsoft.Compute/stable/2019-07-01/gallery.json
+ - Microsoft.Compute/stable/2019-07-01/disk.json
+
+```
+
+### Tag: schema-compute-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-04-01/skus.json
+
+```
+
+### Tag: schema-compute-2019-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2019-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2019-03-01/compute.json
+ - Microsoft.Compute/stable/2019-03-01/runCommands.json
+ - Microsoft.Compute/stable/2019-03-01/disk.json
+ - Microsoft.Compute/stable/2019-03-01/gallery.json
+
+```
+
+### Tag: schema-compute-2018-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2018-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2018-10-01/compute.json
+ - Microsoft.Compute/stable/2018-10-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2018-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2018-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2018-09-30/disk.json
+
+```
+
+### Tag: schema-compute-2018-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2018-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2018-06-01/gallery.json
+ - Microsoft.Compute/stable/2018-06-01/disk.json
+ - Microsoft.Compute/stable/2018-06-01/compute.json
+ - Microsoft.Compute/stable/2018-06-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2018-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2018-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2018-04-01/compute.json
+ - Microsoft.Compute/stable/2018-04-01/runCommands.json
+ - Microsoft.Compute/stable/2018-04-01/disk.json
+
+```
+
+### Tag: schema-compute-2017-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2017-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2017-12-01/compute.json
+ - Microsoft.Compute/stable/2017-12-01/runCommands.json
+
+```
+
+### Tag: schema-compute-2017-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2017-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2017-09-01/skus.json
+
+```
+
+### Tag: schema-compute-2017-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2017-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2017-03-30/disk.json
+ - Microsoft.Compute/stable/2017-03-30/compute.json
+ - Microsoft.Compute/stable/2017-03-30/runCommands.json
+
+```
+
+### Tag: schema-compute-2016-04-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2016-04-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/preview/2016-04-30-preview/compute.json
+ - Microsoft.Compute/preview/2016-04-30-preview/disk.json
+
+```
+
+### Tag: schema-compute-2016-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2016-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2016-03-30/compute.json
+
+```
+
+### Tag: schema-compute-2015-06-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-compute-2015-06-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Compute/stable/2015-06-15/compute.json
+
+```
diff --git a/specification/compute/resource-manager/readme.go.md b/specification/compute/resource-manager/readme.go.md
index 6429e087e0ca..561571b385b6 100644
--- a/specification/compute/resource-manager/readme.go.md
+++ b/specification/compute/resource-manager/readme.go.md
@@ -31,6 +31,7 @@ directive:
```yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-06-01
- tag: package-2019-12-01
- tag: package-2019-07
- tag: package-2019-03-01
@@ -49,6 +50,16 @@ batch:
- tag: package-container-service-2015-11-preview
```
+### Tag: package-2020-06-01 and go
+
+These settings apply only when `--tag=package-2020-06-01 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag)=='package-2020-06-01' && $(go)
+namespace: compute
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace)
+```
+
### Tag: package-2019-12-01 and go
These settings apply only when `--tag=package-2019-12-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 46f7bb57354b..9480f7c084d3 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-2020-05-01
+tag: package-2020-06-30
directive:
- where:
@@ -61,7 +61,6 @@ directive:
- $.definitions.Snapshot.properties
suppress:
- BodyTopLevelProperties
-
- where:
- $.definitions.VirtualMachineScaleSetExtension
suppress:
@@ -138,7 +137,6 @@ directive:
- $.definitions.DiskEncryptionSetParameters
suppress:
- RequiredPropertiesMissingInResourceModel
-
- where:
- $.definitions.VirtualMachineScaleSetVM
suppress:
@@ -171,12 +169,10 @@ directive:
- $.definitions.GalleryImageVersion
suppress:
- TrackedResourcePatchOperation
-
- where:
- $.definitions.VirtualMachineImageResource
suppress:
- TrackedResourceGetOperation
-
- where:
- $.definitions.AdditionalCapabilities.properties.ultraSSDEnabled
suppress:
@@ -205,7 +201,6 @@ directive:
- $.definitions.VirtualMachineScaleSetDataDisk.properties.diskIOPSReadWrite
suppress:
- DefinitionsPropertiesNamesCamelCase
-
- where:
- $.definitions.ContainerService
suppress:
@@ -214,6 +209,77 @@ directive:
- ACS service is deprecated so a PATCH endpoint won't be implemented
```
+### Tag: package-2020-06-30
+
+These settings apply only when `--tag=package-2020-06-30` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-30'
+input-file:
+- Microsoft.Compute/stable/2020-06-01/compute.json
+- Microsoft.Compute/stable/2020-06-01/runCommands.json
+- Microsoft.Compute/stable/2019-04-01/skus.json
+- Microsoft.Compute/stable/2020-06-30/disk.json
+- Microsoft.Compute/stable/2019-12-01/gallery.json
+- Microsoft.ContainerService/stable/2017-01-31/containerService.json
+```
+
+### Tag: package-2020-06-30-only
+
+These settings apply only when `--tag=package-2020-06-30-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-30-only'
+input-file:
+- Microsoft.Compute/stable/2020-06-30/disk.json
+```
+
+### Tag: package-2020-09-30
+
+These settings apply only when `--tag=package-2020-09-30` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-09-30'
+input-file:
+- Microsoft.Compute/stable/2020-06-01/compute.json
+- Microsoft.Compute/stable/2020-06-01/runCommands.json
+- Microsoft.Compute/stable/2019-04-01/skus.json
+- Microsoft.Compute/stable/2020-05-01/disk.json
+- Microsoft.Compute/preview/2020-09-30/gallery.json
+- Microsoft.Compute/preview/2020-09-30/sharedGallery.json
+- Microsoft.ContainerService/stable/2017-01-31/containerService.json
+```
+
+### Tag: package-2020-09-30-only
+
+These settings apply only when `--tag=package-2020-09-30-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-09-30-only'
+input-file:
+- Microsoft.Compute/preview/2020-09-30/gallery.json
+- Microsoft.Compute/preview/2020-09-30/sharedGallery.json
+```
+
+### Tag: package-2020-06-01
+
+These settings apply only when `--tag=package-2020-06-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-01'
+input-file:
+- Microsoft.Compute/stable/2020-06-01/compute.json
+- Microsoft.Compute/stable/2020-06-01/runCommands.json
+- Microsoft.Compute/stable/2019-04-01/skus.json
+- Microsoft.Compute/stable/2020-05-01/disk.json
+- Microsoft.Compute/stable/2019-12-01/gallery.json
+- Microsoft.ContainerService/stable/2017-01-31/containerService.json
+```
+
+### Tag: package-2020-06-01-only
+
+These settings apply only when `--tag=package-2020-06-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-01-only'
+input-file:
+- Microsoft.Compute/stable/2020-06-01/compute.json
+- Microsoft.Compute/stable/2020-06-01/runCommands.json
+```
### Tag: package-2020-05-01
@@ -685,6 +751,7 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
after_scripts:
- python ./scripts/multiapi_init_gen.py azure-mgmt-compute
+ - repo: azure-sdk-for-python-track2
- repo: azure-sdk-for-java
- repo: azure-sdk-for-js
- repo: azure-sdk-for-go
@@ -692,6 +759,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_compute']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js compute/resource-manager
```
## Go
@@ -785,6 +855,10 @@ input-file:
- Microsoft.Compute/stable/2017-03-30/disk.json
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -797,13 +871,18 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.Compute/preview/2020-09-30/sharedGallery.json
+ - $(this-folder)/Microsoft.Compute/preview/2020-09-30/gallery.json
+ - $(this-folder)/Microsoft.Compute/stable/2020-06-01/compute.json
+ - $(this-folder)/Microsoft.Compute/stable/2020-06-01/runCommands.json
+ - $(this-folder)/Microsoft.Compute/stable/2019-04-01/skus.json
+ - $(this-folder)/Microsoft.Compute/stable/2020-06-30/disk.json
+ - $(this-folder)/Microsoft.Compute/stable/2019-12-01/gallery.json
+ - $(this-folder)/Microsoft.ContainerService/stable/2017-01-31/containerService.json
- $(this-folder)/Microsoft.Compute/stable/2020-05-01/disk.json
- $(this-folder)/Microsoft.Compute/stable/2019-12-01/compute.json
- $(this-folder)/Microsoft.Compute/stable/2019-12-01/runCommands.json
- - $(this-folder)/Microsoft.Compute/stable/2019-04-01/skus.json
- $(this-folder)/Microsoft.Compute/stable/2019-11-01/disk.json
- - $(this-folder)/Microsoft.Compute/stable/2019-12-01/gallery.json
- - $(this-folder)/Microsoft.ContainerService/stable/2017-01-31/containerService.json
- $(this-folder)/Microsoft.Compute/stable/2019-07-01/compute.json
- $(this-folder)/Microsoft.Compute/stable/2019-07-01/runCommands.json
- $(this-folder)/Microsoft.Compute/stable/2019-07-01/gallery.json
diff --git a/specification/compute/resource-manager/readme.python.md b/specification/compute/resource-manager/readme.python.md
index 07382513e166..53c612d8d114 100644
--- a/specification/compute/resource-manager/readme.python.md
+++ b/specification/compute/resource-manager/readme.python.md
@@ -10,6 +10,15 @@ python:
package-name: azure-mgmt-compute
no-namespace-folders: true
clear-output-folder: true
+```
+
+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-compute
+no-namespace-folders: true
directive:
# dynamically add a DummyOrchestrationServiceName value to the enum
@@ -29,21 +38,15 @@ directive:
replace(/dummy_orchestration_service_name = "DummyOrchestrationServiceName"/g,'');
```
-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-compute
-no-namespace-folders: true
-```
-
### Python multi-api
Generate all API versions currently shipped for this package
```yaml $(multiapi) && !$(track2)
batch:
+ - tag: package-2020-06-30-only
+ - tag: package-2020-06-01-only
+ - tag: package-2020-05-01-only
- tag: package-2019-12-01-only
- tag: package-2019-11-01-only
- tag: package-2019-07-01-only
@@ -64,6 +67,9 @@ batch:
```yaml $(multiapi) && $(track2)
clear-output-folder: true
batch:
+ - tag: package-2020-06-30-only
+ - tag: package-2020-06-01-only
+ - tag: package-2020-05-01-only
- tag: package-2019-12-01-only
- tag: package-2019-11-01-only
- tag: package-2019-07-01-only
@@ -88,6 +94,45 @@ clear-output-folder: false
perform-load: false
```
+### Tag: package-2020-06-30-only and python
+
+These settings apply only when `--tag=package-2020-06-30-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-30-only'
+namespace: azure.mgmt.compute.v2020_06_30
+output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30
+python:
+ namespace: azure.mgmt.compute.v2020_06_30
+ output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_30
+```
+
+### Tag: package-2020-06-01-only and python
+
+These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-01-only'
+namespace: azure.mgmt.compute.v2020_06_01
+output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01
+python:
+ namespace: azure.mgmt.compute.v2020_06_01
+ output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_06_01
+```
+
+### Tag: package-2020-05-01-only and python
+
+These settings apply only when `--tag=package-2020-05-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-05-01-only'
+namespace: azure.mgmt.compute.v2020_05_01
+output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_05_01
+python:
+ namespace: azure.mgmt.compute.v2020_05_01
+ output-folder: $(python-sdks-folder)/compute/azure-mgmt-compute/azure/mgmt/compute/v2020_05_01
+```
+
### Tag: package-2019-12-01-only and python
These settings apply only when `--tag=package-2019-12-01-only --python` is specified on the command line.
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json
index cd3415b062d5..071d5f14e011 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/consumption.json
@@ -1030,6 +1030,9 @@
"ReservationRecommendationsBySubscription-Legacy": {
"$ref": "./examples/ReservationRecommendationsBySubscription.json"
},
+ "ReservationRecommendationsByResourceGroup-Legacy": {
+ "$ref": "./examples/ReservationRecommendationsByResourceGroup.json"
+ },
"ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod-Legacy": {
"$ref": "./examples/ReservationRecommendationsFilterBySubscriptionForScopeLookBackPeriod.json"
},
@@ -1070,7 +1073,7 @@
}
}
},
- "/{scope}/providers/Microsoft.Consumption/reservationRecommendationDetails": {
+ "/{billingScope}/providers/Microsoft.Consumption/reservationRecommendationDetails": {
"get": {
"tags": [
"ReservationRecommendationDetails"
@@ -1084,6 +1087,9 @@
"ReservationRecommendationsBySubscription-Legacy": {
"$ref": "./examples/ReservationRecommendationDetailsBySubscription.json"
},
+ "ReservationRecommendationsByResourceGroup-Legacy": {
+ "$ref": "./examples/ReservationRecommendationDetailsByResourceGroup.json"
+ },
"ReservationRecommendationsByBillingAccount-Legacy": {
"$ref": "./examples/ReservationRecommendationDetailsByBillingAccount.json"
},
@@ -1097,6 +1103,21 @@
},
{
"$ref": "#/parameters/scopeReservationRecommendationDetailsParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeParameter"
+ },
+ {
+ "$ref": "#/parameters/regionParameter"
+ },
+ {
+ "$ref": "#/parameters/termParameter"
+ },
+ {
+ "$ref": "#/parameters/lookBackPeriodParameter"
+ },
+ {
+ "$ref": "#/parameters/productParameter"
}
],
"responses": {
@@ -1129,8 +1150,8 @@
"url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
},
"x-ms-examples": {
- "ReservationTransaction": {
- "$ref": "./examples/ReservationTransactionsListByBillingAccountId.json"
+ "ReservationTransactionsByEnrollmentNumber": {
+ "$ref": "./examples/ReservationTransactionsListByEnrollmentNumber.json"
}
},
"parameters": [
@@ -1167,6 +1188,58 @@
}
}
},
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/providers/Microsoft.Consumption/reservationTransactions": {
+ "get": {
+ "tags": [
+ "ReservationTransactions"
+ ],
+ "operationId": "ReservationTransactions_ListByBillingProfile",
+ "description": "List of transactions for reserved instances on billing account scope",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/consumption/"
+ },
+ "x-ms-examples": {
+ "ReservationTransactionsByBillingProfileId": {
+ "$ref": "./examples/ReservationTransactionsListByBillingProfileId.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "Filter reservation transactions by date range. The properties/EventDate for start date and end date. The filter supports 'le' and 'ge' ",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/billingProfileIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ModernReservationTransactionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.Consumption/pricesheets/default": {
"get": {
"tags": [
@@ -3327,8 +3400,156 @@
}
}
},
- "ReservationTransactionProperties": {
- "default": "The properties of the reservation transaction.",
+ "ModernReservationTransactionProperties": {
+ "description": "The properties of a modern reservation transaction.",
+ "properties": {
+ "amount": {
+ "description": "The charge of the transaction.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "armSkuName": {
+ "description": "This is the ARM Sku name. It can be used to join with the serviceType field in additional info in usage records.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingFrequency": {
+ "description": "The billing frequency, which can be either one-time or recurring.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileId": {
+ "description": "Billing profile Id.",
+ "type": "string",
+ "readOnly": true
+ },
+ "billingProfileName": {
+ "description": "Billing profile name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "currency": {
+ "description": "The ISO currency in which the transaction is charged, for example, USD.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The description of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "eventDate": {
+ "description": "The date of the transaction",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "eventType": {
+ "description": "The type of the transaction (Purchase, Cancel, etc.)",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoice": {
+ "description": "Invoice Number",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceId": {
+ "description": "Invoice Id as on the invoice where the specific transaction appears.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceSectionId": {
+ "description": "Invoice Section Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "invoiceSectionName": {
+ "description": "Invoice Section Name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "purchasingSubscriptionGuid": {
+ "description": "The subscription guid that makes the transaction.",
+ "type": "string",
+ "format": "uuid",
+ "readOnly": true
+ },
+ "purchasingSubscriptionName": {
+ "description": "The subscription name that makes the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "description": "The quantity of the transaction.",
+ "type": "number",
+ "format": "decimal",
+ "readOnly": true
+ },
+ "region": {
+ "description": "The region of the transaction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationOrderId": {
+ "description": "The reservation order ID is the identifier for a reservation purchase. Each reservation order ID represents a single purchase transaction. A reservation order contains reservations. The reservation order specifies the VM size and region for the reservations.",
+ "type": "string",
+ "readOnly": true
+ },
+ "reservationOrderName": {
+ "description": "The name of the reservation order.",
+ "type": "string",
+ "readOnly": true
+ },
+ "term": {
+ "description": "This is the term of the transaction.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ModernReservationTransaction": {
+ "description": "Modern Reservation transaction resource.",
+ "type": "object",
+ "x-ms-discriminator-value": "Modern",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ModernReservationTransactionProperties",
+ "title": "Reservation Transaction properties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "LegacyReservationTransaction": {
+ "description": "Legacy Reservation transaction resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ReservationTransaction"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/LegacyReservationTransactionProperties",
+ "title": "Reservation Transaction properties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "LegacyReservationTransactionProperties": {
+ "description": "The properties of a legacy reservation transaction.",
"properties": {
"eventDate": {
"description": "The date of the transaction",
@@ -3447,16 +3668,16 @@
"properties": {
"properties": {
"x-ms-client-flatten": true,
- "$ref": "#/definitions/ReservationTransactionProperties",
+ "$ref": "#/definitions/LegacyReservationTransactionProperties",
"title": "Reservation Transaction properties"
}
}
},
"ReservationTransactionsListResult": {
- "description": "Result of listing reservation transactions",
+ "description": "Result of listing reservation recommendations.",
"properties": {
"value": {
- "description": "The list of reservation transactions.",
+ "description": "The list of reservation recommendations.",
"type": "array",
"readOnly": true,
"items": {
@@ -3470,6 +3691,24 @@
}
}
},
+ "ModernReservationTransactionsListResult": {
+ "description": "Result of listing reservation recommendations.",
+ "properties": {
+ "value": {
+ "description": "The list of reservation recommendations.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ModernReservationTransaction"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
"TagsResult": {
"description": "A resource listing all tags.",
"type": "object",
@@ -3632,13 +3871,13 @@
"description": "The logical \"AND\" expression. Must have at least 2 items.",
"type": "array",
"items": {
- "$ref": "#/definitions/BudgetFilter"
+ "$ref": "#/definitions/BudgetFilterProperties"
},
"minItems": 2
},
"not": {
"description": "The logical \"NOT\" expression.",
- "$ref": "#/definitions/BudgetFilter"
+ "$ref": "#/definitions/BudgetFilterProperties"
},
"dimensions": {
"description": "Has comparison expression for a dimension",
@@ -3650,6 +3889,19 @@
}
}
},
+ "BudgetFilterProperties": {
+ "description": "The Dimensions or Tags to filter a budget by.",
+ "properties": {
+ "dimensions": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/BudgetComparisonExpression"
+ },
+ "tags": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/BudgetComparisonExpression"
+ }
+ }
+ },
"BudgetComparisonExpression": {
"description": "The comparison expression to be used in the budgets.",
"properties": {
@@ -4726,16 +4978,25 @@
"in": "path",
"required": true,
"type": "string",
- "description": "The scope associated with reservation recommendations operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope",
+ "description": "The scope associated with reservation recommendations operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope",
"x-ms-parameter-location": "method",
"x-ms-skip-url-encoding": true
},
"scopeReservationRecommendationDetailsParameter": {
+ "name": "billingScope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with reservation recommendation details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resource group scope, /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeReservationTransactionsParameter": {
"name": "scope",
"in": "path",
"required": true,
"type": "string",
- "description": "The scope associated with reservation recommendation details operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}', /providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope",
+ "description": "The scope associated with reservation transactions operations. This includes '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for BillingAccount/Enrollment scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope",
"x-ms-parameter-location": "method",
"x-ms-skip-url-encoding": true
},
@@ -4926,6 +5187,100 @@
"required": false,
"type": "string",
"x-ms-parameter-location": "method"
+ },
+ "termParameter": {
+ "description": "Specify length of reservation recommendation term.",
+ "type": "string",
+ "in": "query",
+ "required": true,
+ "name": "term",
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "P1Y",
+ "P3Y"
+ ],
+ "x-ms-enum": {
+ "name": "term",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "P1Y",
+ "description": "1 year reservation term",
+ "name": "P1Y"
+ },
+ {
+ "value": "P3Y",
+ "description": "3 year reservation term",
+ "name": "P3Y"
+ }
+ ]
+ }
+ },
+ "regionParameter": {
+ "name": "region",
+ "in": "query",
+ "description": "Used to select the region the recommendation should be generated for.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "lookBackPeriodParameter": {
+ "name": "lookBackPeriod",
+ "in": "query",
+ "description": "Filter the time period on which reservation recommendation results are based.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Last7Days",
+ "Last30Days",
+ "Last60Days"
+ ],
+ "x-ms-enum": {
+ "name": "lookBackPeriod",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Last7Days",
+ "description": "Use 7 days of data for recommendations",
+ "name": "Last07Days"
+ },
+ {
+ "value": "Last30Days",
+ "description": "Use 30 days of data for recommendations",
+ "name": "Last30Days"
+ },
+ {
+ "value": "Last60Days",
+ "description": "Use 60 days of data for recommendations",
+ "name": "Last60Days"
+ }
+ ]
+ }
+ },
+ "productParameter": {
+ "name": "product",
+ "in": "query",
+ "description": "Filter the products for which reservation recommendation results are generated. Examples: Standard_DS1_v2 (for VM), Premium_SSD_Managed_Disks_P30 (for Managed Disks)",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeParameter": {
+ "description": "Scope of the reservation.",
+ "type": "string",
+ "name": "scope",
+ "in": "query",
+ "required": true,
+ "x-ms-parameter-location": "method",
+ "enum": [
+ "Single",
+ "Shared"
+ ],
+ "x-ms-enum": {
+ "name": "scope",
+ "modelAsString": true
+ }
}
}
}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json
index 3349a95990bd..64132bae1ed3 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingAccount.json
@@ -1,7 +1,12 @@
{
"parameters": {
"api-version": "2019-10-01",
- "scope": "providers/Microsoft.Billing/billingAccounts/000000"
+ "billingScope": "providers/Microsoft.Billing/billingAccounts/000000",
+ "lookBackPeriod": "Last60Days",
+ "product": "Standard_DS14_v2",
+ "region": "eastus",
+ "scope": "Shared",
+ "term": "P1Y"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json
index 235b489b818b..2e26e8ae8e3e 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByBillingProfile.json
@@ -1,7 +1,12 @@
{
"parameters": {
"api-version": "2019-10-01",
- "scope": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000"
+ "billingScope": "providers/Microsoft.Billing/billingAccounts/00000000-0000-0000-0000-00000000:00000000-0000-0000-0000-00000000/billingProfiles/00000000-0000-0000-0000-00000000",
+ "lookBackPeriod": "Last7Days",
+ "product": "Standard_B2s",
+ "region": "australiaeast",
+ "scope": "Shared",
+ "term": "P1Y"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json
new file mode 100644
index 000000000000..41488fe63828
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsByResourceGroup.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingScope": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup",
+ "lookBackPeriod": "Last30Days",
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "scope": "Single",
+ "term": "P3Y"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-00000000/resourceGroups/testGroup/providers/microsoft.consumption/reservationrecommendationdetails",
+ "name": "reservationRecommendationDetails",
+ "type": "Microsoft.Consumption/ReservationRecommendationDetails",
+ "properties": {
+ "currency": "USD",
+ "resource": {
+ "appliedScopes": [
+ "00000000-0000-0000-0000-00000000",
+ "testGroup"
+ ],
+ "onDemandRate": 0.519,
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "reservationRate": 0.302549467275493,
+ "resourceType": "virtualmachines"
+ },
+ "resourceGroup": "testGroup",
+ "savings": {
+ "calculatedSavings": [
+ {
+ "onDemandCost": 368.4813602070006,
+ "overageCost": 0.0,
+ "quantity": 2,
+ "reservationCost": 429.01514459665,
+ "totalReservationCost": 429.01514459665,
+ "savings": -60.5337843896494
+ },
+ {
+ "onDemandCost": 368.481360207000,
+ "overageCost": 1.557,
+ "quantity": 1,
+ "reservationCost": 214.507572298325,
+ "totalReservationCost": 216.064572298325,
+ "savings": 152.416787908675
+ }
+ ],
+ "lookBackPeriod": 30,
+ "recommendedQuantity": 1.0,
+ "reservationOrderTerm": "P3Y",
+ "savingsType": "instance",
+ "unitOfMeasure": "hour"
+ },
+ "scope": "Single",
+ "usage": {
+ "firstConsumptionDate": "2020-02-03T00:00:00",
+ "lastConsumptionDate": "2020-03-03T13:00:00",
+ "lookBackUnitType": "virtualMachine quantity",
+ "usageData": [
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0,
+ 1.0
+ ],
+ "usageGrain": "hourly"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json
index 81401cfe5622..8edeecfad5e8 100644
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationDetailsBySubscription.json
@@ -1,7 +1,12 @@
{
"parameters": {
"api-version": "2019-10-01",
- "scope": "subscriptions/00000000-0000-0000-0000-00000000"
+ "billingScope": "subscriptions/00000000-0000-0000-0000-00000000",
+ "lookBackPeriod": "Last30Days",
+ "product": "Standard_DS13_v2",
+ "region": "westus",
+ "scope": "Single",
+ "term": "P3Y"
},
"responses": {
"200": {
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationsByResourceGroup.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationsByResourceGroup.json
new file mode 100644
index 000000000000..e5176552a10c
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationRecommendationsByResourceGroup.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGrouups/testGroup/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations1",
+ "name": "reservationRecommendations1",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "kind": "legacy",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P1Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 4.634521202630137,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Consumption/reservationRecommendations/reservationRecommendations2",
+ "name": "reservationRecommendations2",
+ "type": "Microsoft.Consumption/reservationRecommendations",
+ "sku": "Standard_DS1_v2",
+ "location": "northeurope",
+ "kind": "legacy",
+ "properties": {
+ "lookBackPeriod": "Last7Days",
+ "meterId": "00000000-0000-0000-0000-000000000000",
+ "term": "P3Y",
+ "costWithNoReservedInstances": 0.0,
+ "recommendedQuantity": 1,
+ "totalCostWithReservedInstances": 0.0,
+ "netSavings": 7.2893157231780812,
+ "firstUsageDate": "2018-03-06T00:00:00Z",
+ "scope": "Single"
+ }
+ }
+ ],
+ "nextLink": "https://management.azure.com/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/testGroup/providers/Microsoft.Consumption/reservationRecommendations?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D&"
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingAccountId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingAccountId.json
deleted file mode 100644
index 7770a224b060..000000000000
--- a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingAccountId.json
+++ /dev/null
@@ -1,71 +0,0 @@
-{
- "parameters": {
- "api-version": "2019-10-01",
- "billingAccountId": "123456",
- "$filter": "properties/eventDate ge 2019-09-09 AND properties/eventDate le 2019-09-10"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919",
- "name": "201909091919",
- "type": "Microsoft.Consumption/reservationTransactions",
- "tags": {},
- "properties": {
- "eventDate": "2019-09-09T19:19:04Z",
- "reservationOrderId": "00000000-0000-0000-0000-000000000000",
- "description": "Standard_DS1_v2 westus 1 Year",
- "eventType": "Cancel",
- "quantity": 1,
- "amount": -21.000000000000000,
- "currency": "USD",
- "reservationOrderName": "Transaction-DS1_v2",
- "purchasingEnrollment": "123456",
- "armSkuName": "Standard_DS1_v2",
- "term": "P1Y",
- "region": "westus",
- "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111",
- "purchasingSubscriptionName": "Infrastructure Subscription",
- "accountName": "Microsoft Infrastructure",
- "accountOwnerEmail": "admin@microsoft.com",
- "departmentName": "Unassigned",
- "costCenter": "",
- "currentEnrollment": "123456",
- "billingFrequency": "recurring"
- }
- },
- {
- "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919",
- "name": "201909091919",
- "type": "Microsoft.Consumption/reservationTransactions",
- "tags": {},
- "properties": {
- "eventDate": "2019-09-09T19:19:04Z",
- "reservationOrderId": "00000000-0000-0000-0000-000000000000",
- "description": "Standard_DS1_v2 westus 1 Year",
- "eventType": "Purchase",
- "quantity": 1,
- "amount": 21.000000000000000,
- "currency": "USD",
- "reservationOrderName": "Transaction-DS1_v2",
- "purchasingEnrollment": "123456",
- "armSkuName": "Standard_DS1_v2",
- "term": "P1Y",
- "region": "westus",
- "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111",
- "purchasingSubscriptionName": "Infrastructure Subscription",
- "accountName": "Microsoft Infrastructure",
- "accountOwnerEmail": "admin@microsoft.com",
- "departmentName": "Unassigned",
- "costCenter": "",
- "currentEnrollment": "123456",
- "billingFrequency": "recurring"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingProfileId.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingProfileId.json
new file mode 100644
index 000000000000..76bb8670823f
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByBillingProfileId.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30",
+ "billingAccountId": "fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30",
+ "billingProfileId": "Z76D-SGAF-BG7-TGB"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/providers/Microsoft.Consumption/reservationTransactions",
+ "name": "a838a8c3-a408-49e1-ac90-42cb95bff9b2",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "properties": {
+ "eventDate": "2020-04-25T21:21:38Z",
+ "reservationOrderId": "a838a8c3-a408-49e1-ac90-42cb95bff9b2",
+ "description": "Reserved VM Instance, Standard_B1ls, US East, 3 Years",
+ "eventType": "Purchase",
+ "quantity": 1,
+ "amount": 1.44,
+ "currency": "USD",
+ "reservationOrderName": "VM_RI_03-25-2020_14-18",
+ "armSkuName": "Standard_B1ls",
+ "billingFrequency": "Recurring",
+ "billingProfileId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB",
+ "billingProfileName": "IT Department*",
+ "invoice": "T000456437",
+ "invoiceId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/billingProfiles/Z76D-SGAF-BG7-TGB/invoices/T000456437",
+ "invoiceSectionId": "/providers/Microsoft.Billing/billingAccounts/fcebaabc-fced-4284-a83d-79f83dee183c:45796ba8-988f-45ad-bea9-7b71fc6c7513_2018-09-30/invoiceSections/QBTB-EYAK-PJA-TGB",
+ "invoiceSectionName": "IT Department",
+ "purchasingSubscriptionGuid": "d924ad15-4a3d-4047-971d-c8b1b300a97b",
+ "purchasingSubscriptionName": "contoso",
+ "region": "eastus",
+ "term": "P3Y"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json
new file mode 100644
index 000000000000..9e2cd5457ab2
--- /dev/null
+++ b/specification/consumption/resource-manager/Microsoft.Consumption/stable/2019-10-01/examples/ReservationTransactionsListByEnrollmentNumber.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "$filter": "properties/eventDate+ge+2020-05-20+AND+properties/eventDate+le+2020-05-30",
+ "billingAccountId": "123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919",
+ "name": "201909091919",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "tags": {},
+ "properties": {
+ "eventDate": "2019-09-09T19:19:04Z",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "description": "Standard_DS1_v2 westus 1 Year",
+ "eventType": "Cancel",
+ "quantity": 1,
+ "amount": -21.000000000000000,
+ "currency": "USD",
+ "reservationOrderName": "Transaction-DS1_v2",
+ "purchasingEnrollment": "123456",
+ "armSkuName": "Standard_DS1_v2",
+ "term": "P1Y",
+ "region": "westus",
+ "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111",
+ "purchasingSubscriptionName": "Infrastructure Subscription",
+ "accountName": "Microsoft Infrastructure",
+ "accountOwnerEmail": "admin@microsoft.com",
+ "departmentName": "Unassigned",
+ "costCenter": "",
+ "currentEnrollment": "123456",
+ "billingFrequency": "recurring"
+ }
+ },
+ {
+ "id": "/billingAccounts/123456/providers/Microsoft.Consumption/reservationtransactions/201909091919",
+ "name": "201909091919",
+ "type": "Microsoft.Consumption/reservationTransactions",
+ "tags": {},
+ "properties": {
+ "eventDate": "2019-09-09T19:19:04Z",
+ "reservationOrderId": "00000000-0000-0000-0000-000000000000",
+ "description": "Standard_DS1_v2 westus 1 Year",
+ "eventType": "Purchase",
+ "quantity": 1,
+ "amount": 21.000000000000000,
+ "currency": "USD",
+ "reservationOrderName": "Transaction-DS1_v2",
+ "purchasingEnrollment": "123456",
+ "armSkuName": "Standard_DS1_v2",
+ "term": "P1Y",
+ "region": "westus",
+ "purchasingSubscriptionGuid": "11111111-1111-1111-1111-11111111111",
+ "purchasingSubscriptionName": "Infrastructure Subscription",
+ "accountName": "Microsoft Infrastructure",
+ "accountOwnerEmail": "admin@microsoft.com",
+ "departmentName": "Unassigned",
+ "costCenter": "",
+ "currentEnrollment": "123456",
+ "billingFrequency": "recurring"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/consumption/resource-manager/readme.azureresourceschema.md b/specification/consumption/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..cdf86806a081
--- /dev/null
+++ b/specification/consumption/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,204 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-consumption-2019-10-01
+ - tag: schema-consumption-2019-06-01
+ - tag: schema-consumption-2019-05-01-preview
+ - tag: schema-consumption-2019-05-01
+ - tag: schema-consumption-2019-04-01-preview
+ - tag: schema-consumption-2019-01-01
+ - tag: schema-consumption-2018-11-01-preview
+ - tag: schema-consumption-2018-10-01
+ - tag: schema-consumption-2018-08-31
+ - tag: schema-consumption-2018-06-30
+ - tag: schema-consumption-2018-05-31
+ - tag: schema-consumption-2018-03-31
+ - tag: schema-consumption-2018-01-31
+ - tag: schema-consumption-2017-12-30-preview
+ - tag: schema-consumption-2017-11-30
+ - tag: schema-consumption-2017-04-24-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-consumption-2019-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2019-10-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2019-06-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2019-05-01-preview/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2019-05-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-04-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-04-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2019-04-01-preview/consumption.json
+
+```
+
+### Tag: schema-consumption-2019-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2019-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2019-01-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2018-11-01-preview/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-10-01/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-08-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-08-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-08-31/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-06-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-06-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-06-30/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-05-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-05-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-05-31/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-03-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-03-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-03-31/consumption.json
+
+```
+
+### Tag: schema-consumption-2018-01-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2018-01-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2018-01-31/consumption.json
+
+```
+
+### Tag: schema-consumption-2017-12-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2017-12-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2017-12-30-preview/consumption.json
+
+```
+
+### Tag: schema-consumption-2017-11-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2017-11-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/stable/2017-11-30/consumption.json
+
+```
+
+### Tag: schema-consumption-2017-04-24-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-consumption-2017-04-24-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Consumption/preview/2017-04-24-preview/consumption.json
+
+```
diff --git a/specification/consumption/resource-manager/readme.md b/specification/consumption/resource-manager/readme.md
index 645375a2b3dd..b909544080e9 100644
--- a/specification/consumption/resource-manager/readme.md
+++ b/specification/consumption/resource-manager/readme.md
@@ -219,6 +219,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_consumption']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js consumption/resource-manager
```
## C#
@@ -404,6 +407,10 @@ regenerate-manager: true
generate-interface: true
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json
new file mode 100644
index 000000000000..943e6f8abbde
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json
@@ -0,0 +1,2064 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2019-12-01",
+ "title": "ContainerInstanceManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/containerGroups": {
+ "get": {
+ "operationId": "ContainerGroups_List",
+ "x-ms-examples": {
+ "ContainerGroupsList": {
+ "$ref": "./examples/ContainerGroupsList.json"
+ }
+ },
+ "summary": "Get a list of container groups in the specified subscription.",
+ "description": "Get a list of container groups in the specified subscription. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups": {
+ "get": {
+ "operationId": "ContainerGroups_ListByResourceGroup",
+ "x-ms-examples": {
+ "ContainerGroupsListByResourceGroup": {
+ "$ref": "./examples/ContainerGroupsListByResourceGroup.json"
+ }
+ },
+ "summary": "Get a list of container groups in the specified subscription and resource group.",
+ "description": "Get a list of container groups in a specified subscription and resource group. This operation returns properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroupListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}": {
+ "get": {
+ "operationId": "ContainerGroups_Get",
+ "x-ms-examples": {
+ "ContainerGroupsGet_Succeeded": {
+ "$ref": "./examples/ContainerGroupsGet_Succeeded.json"
+ },
+ "ContainerGroupsGet_Failed": {
+ "$ref": "./examples/ContainerGroupsGet_Failed.json"
+ }
+ },
+ "summary": "Get the properties of the specified container group.",
+ "description": "Gets the properties of the specified container group in the specified subscription and resource group. The operation returns the properties of each container group including containers, image registry credentials, restart policy, IP address type, OS type, state, and volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "put": {
+ "operationId": "ContainerGroups_CreateOrUpdate",
+ "x-ms-examples": {
+ "ContainerGroupsCreateOrUpdate": {
+ "$ref": "./examples/ContainerGroupsCreateOrUpdate.json"
+ }
+ },
+ "summary": "Create or update container groups.",
+ "description": "Create or update container groups with specified configurations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerGroup",
+ "description": "The properties of the container group to be created or updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "201": {
+ "description": "Created - the container group is created.",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "operationId": "ContainerGroups_Update",
+ "x-ms-examples": {
+ "ContainerGroupsUpdate": {
+ "$ref": "./examples/ContainerGroupsUpdate.json"
+ }
+ },
+ "summary": "Update container groups.",
+ "description": "Updates container group tags with specified values.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "Resource",
+ "description": "The container group resource with just the tags to be updated.",
+ "required": true,
+ "in": "body",
+ "schema": {
+ "$ref": "#/definitions/Resource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "operationId": "ContainerGroups_Delete",
+ "x-ms-examples": {
+ "ContainerGroupsDelete": {
+ "$ref": "./examples/ContainerGroupsDelete.json"
+ }
+ },
+ "summary": "Delete the specified container group.",
+ "description": "Delete the specified container group in the specified subscription and resource group. The operation does not delete other resources provided by the user, such as volumes.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerGroup"
+ }
+ },
+ "202": {
+ "description": "Delete started."
+ },
+ "204": {
+ "description": "No Content - the specified container group was not found."
+ },
+ "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.ContainerInstance/containerGroups/{containerGroupName}/restart": {
+ "post": {
+ "operationId": "ContainerGroups_Restart",
+ "x-ms-examples": {
+ "ContainerRestart": {
+ "$ref": "./examples/ContainerGroupsRestart.json"
+ }
+ },
+ "summary": "Restarts all containers in a container group.",
+ "description": "Restarts all containers in a container group in place. If container image has updates, new image will be downloaded.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "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.ContainerInstance/containerGroups/{containerGroupName}/stop": {
+ "post": {
+ "operationId": "ContainerGroups_Stop",
+ "x-ms-examples": {
+ "ContainerStop": {
+ "$ref": "./examples/ContainerGroupsStop.json"
+ }
+ },
+ "summary": "Stops all containers in a container group.",
+ "description": "Stops all containers in a container group. Compute resources will be deallocated and billing will stop.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/start": {
+ "post": {
+ "operationId": "ContainerGroups_Start",
+ "x-ms-examples": {
+ "ContainerStart": {
+ "$ref": "./examples/ContainerGroupsStart.json"
+ }
+ },
+ "summary": "Starts all containers in a container group.",
+ "description": "Starts all containers in a container group. Compute resources will be allocated and billing will start.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
+ "/providers/Microsoft.ContainerInstance/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "OperationsList": {
+ "$ref": "./examples/OperationsList.json"
+ }
+ },
+ "description": "List the operations for Azure Container Instance service.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/usages": {
+ "get": {
+ "operationId": "Location_ListUsage",
+ "x-ms-examples": {
+ "ContainerUsage": {
+ "$ref": "./examples/ContainerGroupUsage.json"
+ }
+ },
+ "description": "Get the usage for a subscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/UsageListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/logs": {
+ "get": {
+ "operationId": "Containers_ListLogs",
+ "x-ms-examples": {
+ "ContainerListLogs": {
+ "$ref": "./examples/ContainerListLogs.json"
+ }
+ },
+ "summary": "Get the logs for a specified container instance.",
+ "description": "Get the logs for a specified container instance in a specified resource group and container group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The name of the container instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "tail",
+ "in": "query",
+ "description": "The number of lines to show from the tail of the container instance log. If not provided, all available logs are shown up to 4mb.",
+ "type": "integer"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Logs"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerInstance/containerGroups/{containerGroupName}/containers/{containerName}/exec": {
+ "post": {
+ "operationId": "Containers_ExecuteCommand",
+ "x-ms-examples": {
+ "ContainerExec": {
+ "$ref": "./examples/ContainerExec.json"
+ }
+ },
+ "summary": "Executes a command in a specific container instance.",
+ "description": "Executes a command for a specific container instance in a specified resource group and container group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ContainerGroupNameParameter"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The name of the container instance.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerExecRequest",
+ "in": "body",
+ "description": "The request for the exec command.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerExecRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ContainerExecResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/cachedImages": {
+ "get": {
+ "operationId": "Location_ListCachedImages",
+ "x-ms-examples": {
+ "CachedImages": {
+ "$ref": "./examples/CachedImagesList.json"
+ }
+ },
+ "summary": "Get the list of cached images.",
+ "description": "Get the list of cached images on specific OS type for a subscription in a region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CachedImagesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerInstance/locations/{location}/capabilities": {
+ "get": {
+ "operationId": "Location_ListCapabilities",
+ "x-ms-examples": {
+ "GetCapabilities": {
+ "$ref": "./examples/CapabilitiesList.json"
+ }
+ },
+ "summary": "Get the list of capabilities of the location.",
+ "description": "Get the list of CPU/memory/GPU capabilities of a region.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/LocationParameter"
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CapabilitiesListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Container": {
+ "description": "A container instance.",
+ "type": "object",
+ "required": [
+ "properties",
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The user-provided name of the container instance.",
+ "type": "string"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of the container instance.",
+ "$ref": "#/definitions/ContainerProperties"
+ }
+ }
+ },
+ "ContainerProperties": {
+ "description": "The container instance properties.",
+ "type": "object",
+ "required": [
+ "image",
+ "resources"
+ ],
+ "properties": {
+ "image": {
+ "description": "The name of the image used to create the container instance.",
+ "type": "string"
+ },
+ "command": {
+ "description": "The commands to execute within the container instance in exec form.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "ports": {
+ "description": "The exposed ports on the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerPort"
+ }
+ },
+ "environmentVariables": {
+ "description": "The environment variables to set in the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVariable"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the container instance. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "restartCount": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The number of times that the container instance has been restarted."
+ },
+ "currentState": {
+ "readOnly": true,
+ "description": "Current container instance state.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "previousState": {
+ "readOnly": true,
+ "description": "Previous container instance state.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "events": {
+ "readOnly": true,
+ "description": "The events of the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ }
+ }
+ },
+ "resources": {
+ "description": "The resource requirements of the container instance.",
+ "$ref": "#/definitions/ResourceRequirements"
+ },
+ "volumeMounts": {
+ "description": "The volume mounts available to the container instance.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeMount"
+ }
+ },
+ "livenessProbe": {
+ "description": "The liveness probe.",
+ "$ref": "#/definitions/ContainerProbe"
+ },
+ "readinessProbe": {
+ "description": "The readiness probe.",
+ "$ref": "#/definitions/ContainerProbe"
+ }
+ }
+ },
+ "ContainerState": {
+ "description": "The container instance state.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "state": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The state of the container instance."
+ },
+ "startTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date-time when the container instance state started."
+ },
+ "exitCode": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "The container instance exit codes correspond to those from the `docker run` command."
+ },
+ "finishTime": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date-time when the container instance state finished."
+ },
+ "detailStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The human-readable status of the container instance state."
+ }
+ }
+ },
+ "Event": {
+ "description": "A container group or container instance event.",
+ "type": "object",
+ "readOnly": true,
+ "properties": {
+ "count": {
+ "type": "integer",
+ "readOnly": true,
+ "description": "The count of the event."
+ },
+ "firstTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date-time of the earliest logged event."
+ },
+ "lastTimestamp": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The date-time of the latest logged event."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The event name."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The event message."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The event type."
+ }
+ }
+ },
+ "ResourceRequirements": {
+ "description": "The resource requirements.",
+ "type": "object",
+ "required": [
+ "requests"
+ ],
+ "properties": {
+ "requests": {
+ "description": "The resource requests of this container instance.",
+ "$ref": "#/definitions/ResourceRequests"
+ },
+ "limits": {
+ "description": "The resource limits of this container instance.",
+ "$ref": "#/definitions/ResourceLimits"
+ }
+ }
+ },
+ "ResourceRequests": {
+ "description": "The resource requests.",
+ "type": "object",
+ "required": [
+ "memoryInGB",
+ "cpu"
+ ],
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory request in GB of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "The CPU request of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "gpu": {
+ "description": "The GPU request of this container instance.",
+ "$ref": "#/definitions/GpuResource"
+ }
+ }
+ },
+ "ResourceLimits": {
+ "description": "The resource limits.",
+ "type": "object",
+ "properties": {
+ "memoryInGB": {
+ "description": "The memory limit in GB of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "cpu": {
+ "description": "The CPU limit of this container instance.",
+ "type": "number",
+ "format": "double"
+ },
+ "gpu": {
+ "description": "The GPU limit of this container instance.",
+ "$ref": "#/definitions/GpuResource"
+ }
+ }
+ },
+ "GpuResource": {
+ "description": "The GPU resource.",
+ "type": "object",
+ "required": [
+ "count",
+ "sku"
+ ],
+ "properties": {
+ "count": {
+ "description": "The count of the GPU resource.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "sku": {
+ "type": "string",
+ "description": "The SKU of the GPU resource.",
+ "enum": [
+ "K80",
+ "P100",
+ "V100"
+ ],
+ "x-ms-enum": {
+ "name": "GpuSku",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "AzureFileVolume": {
+ "description": "The properties of the Azure File volume. Azure File shares are mounted as volumes.",
+ "type": "object",
+ "required": [
+ "shareName",
+ "storageAccountName"
+ ],
+ "properties": {
+ "shareName": {
+ "description": "The name of the Azure File share to be mounted as a volume.",
+ "type": "string"
+ },
+ "readOnly": {
+ "description": "The flag indicating whether the Azure File shared mounted as a volume is read-only.",
+ "type": "boolean"
+ },
+ "storageAccountName": {
+ "description": "The name of the storage account that contains the Azure File share.",
+ "type": "string"
+ },
+ "storageAccountKey": {
+ "description": "The storage account access key used to access the Azure File share.",
+ "type": "string"
+ }
+ }
+ },
+ "EmptyDirVolume": {
+ "description": "The empty directory volume.",
+ "type": "object",
+ "properties": {}
+ },
+ "SecretVolume": {
+ "description": "The secret volume.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "GitRepoVolume": {
+ "description": "Represents a volume that is populated with the contents of a git repository",
+ "required": [
+ "repository"
+ ],
+ "properties": {
+ "directory": {
+ "description": "Target directory name. Must not contain or start with '..'. If '.' is supplied, the volume directory will be the git repository. Otherwise, if specified, the volume will contain the git repository in the subdirectory with the given name.",
+ "type": "string"
+ },
+ "repository": {
+ "description": "Repository URL",
+ "type": "string"
+ },
+ "revision": {
+ "description": "Commit hash for the specified revision.",
+ "type": "string"
+ }
+ }
+ },
+ "Volume": {
+ "description": "The properties of the volume.",
+ "type": "object",
+ "required": [
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the volume.",
+ "type": "string"
+ },
+ "azureFile": {
+ "description": "The Azure File volume.",
+ "$ref": "#/definitions/AzureFileVolume"
+ },
+ "emptyDir": {
+ "description": "The empty directory volume.",
+ "$ref": "#/definitions/EmptyDirVolume"
+ },
+ "secret": {
+ "description": "The secret volume.",
+ "$ref": "#/definitions/SecretVolume"
+ },
+ "gitRepo": {
+ "description": "The git repo volume.",
+ "$ref": "#/definitions/GitRepoVolume"
+ }
+ }
+ },
+ "VolumeMount": {
+ "description": "The properties of the volume mount.",
+ "type": "object",
+ "required": [
+ "name",
+ "mountPath"
+ ],
+ "properties": {
+ "name": {
+ "description": "The name of the volume mount.",
+ "type": "string"
+ },
+ "mountPath": {
+ "description": "The path within the container where the volume should be mounted. Must not contain colon (:).",
+ "type": "string"
+ },
+ "readOnly": {
+ "description": "The flag indicating whether the volume mount is read-only.",
+ "type": "boolean"
+ }
+ }
+ },
+ "ContainerExec": {
+ "type": "object",
+ "description": "The container execution command, for liveness or readiness probe",
+ "properties": {
+ "command": {
+ "description": "The commands to execute within the container.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ContainerHttpGet": {
+ "type": "object",
+ "description": "The container Http Get settings, for liveness or readiness probe",
+ "properties": {
+ "path": {
+ "description": "The path to probe.",
+ "type": "string"
+ },
+ "port": {
+ "type": "integer",
+ "description": "The port number to probe.",
+ "format": "int32"
+ },
+ "scheme": {
+ "description": "The scheme.",
+ "type": "string",
+ "enum": [
+ "http",
+ "https"
+ ],
+ "x-ms-enum": {
+ "name": "Scheme",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ContainerProbe": {
+ "type": "object",
+ "description": "The container probe, for liveness or readiness",
+ "properties": {
+ "exec": {
+ "description": "The execution command to probe",
+ "$ref": "#/definitions/ContainerExec"
+ },
+ "httpGet": {
+ "description": "The Http Get settings to probe",
+ "$ref": "#/definitions/ContainerHttpGet"
+ },
+ "initialDelaySeconds": {
+ "description": "The initial delay seconds.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "periodSeconds": {
+ "description": "The period seconds.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "failureThreshold": {
+ "description": "The failure threshold.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "successThreshold": {
+ "description": "The success threshold.",
+ "type": "integer",
+ "format": "int32"
+ },
+ "timeoutSeconds": {
+ "description": "The timeout seconds.",
+ "type": "integer",
+ "format": "int32"
+ }
+ }
+ },
+ "ContainerGroup": {
+ "description": "A container group.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "type": "object",
+ "required": [
+ "properties"
+ ],
+ "properties": {
+ "identity": {
+ "$ref": "#/definitions/ContainerGroupIdentity",
+ "description": "The identity of the container group, if configured."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "type": "object",
+ "description": "The container group properties",
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state of the container group. This only appears in the response."
+ },
+ "containers": {
+ "type": "array",
+ "description": "The containers within the container group.",
+ "items": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "imageRegistryCredentials": {
+ "type": "array",
+ "description": "The image registry credentials by which the container group is created from.",
+ "items": {
+ "$ref": "#/definitions/ImageRegistryCredential"
+ }
+ },
+ "restartPolicy": {
+ "type": "string",
+ "description": "Restart policy for all containers within the container group. \n- `Always` Always restart\n- `OnFailure` Restart on failure\n- `Never` Never restart\n",
+ "enum": [
+ "Always",
+ "OnFailure",
+ "Never"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupRestartPolicy",
+ "modelAsString": true
+ }
+ },
+ "ipAddress": {
+ "description": "The IP address type of the container group.",
+ "$ref": "#/definitions/IpAddress"
+ },
+ "osType": {
+ "type": "string",
+ "description": "The operating system type required by the containers in the container group.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "x-ms-enum": {
+ "name": "OperatingSystemTypes",
+ "modelAsString": true
+ }
+ },
+ "volumes": {
+ "type": "array",
+ "description": "The list of volumes that can be mounted by containers in this container group.",
+ "items": {
+ "$ref": "#/definitions/Volume"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the container group. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "events": {
+ "description": "The events of this container group.",
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ },
+ "state": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The state of the container group. Only valid in response."
+ }
+ }
+ },
+ "diagnostics": {
+ "description": "The diagnostic information for a container group.",
+ "$ref": "#/definitions/ContainerGroupDiagnostics"
+ },
+ "networkProfile": {
+ "description": "The network profile information for a container group.",
+ "$ref": "#/definitions/ContainerGroupNetworkProfile"
+ },
+ "dnsConfig": {
+ "description": "The DNS config information for a container group.",
+ "$ref": "#/definitions/DnsConfiguration"
+ },
+ "sku": {
+ "description": "The SKU for a container group.",
+ "$ref": "#/definitions/ContainerGroupSku"
+ },
+ "encryptionProperties": {
+ "description": "The encryption properties for a container group.",
+ "$ref": "#/definitions/EncryptionProperties"
+ },
+ "initContainers": {
+ "type": "array",
+ "description": "The init containers for a container group.",
+ "items": {
+ "$ref": "#/definitions/InitContainerDefinition"
+ }
+ }
+ },
+ "required": [
+ "containers",
+ "osType"
+ ]
+ }
+ }
+ }
+ ]
+ },
+ "ContainerGroupIdentity": {
+ "description": "Identity for the container group.",
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the container group identity. This property will only be provided for a system assigned identity."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id associated with the container group. This property will only be provided for a system assigned identity."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the container group. 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 container group.",
+ "enum": [
+ "SystemAssigned",
+ "UserAssigned",
+ "SystemAssigned, UserAssigned",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "ResourceIdentityType",
+ "modelAsString": false
+ }
+ },
+ "userAssignedIdentities": {
+ "type": "object",
+ "description": "The list of user identities associated with the container group. The user identity dictionary key references will be ARM resource ids in the form: '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/userAssignedIdentities/{identityName}'.",
+ "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."
+ }
+ }
+ }
+ }
+ }
+ },
+ "ImageRegistryCredential": {
+ "description": "Image registry credential.",
+ "type": "object",
+ "properties": {
+ "server": {
+ "type": "string",
+ "description": "The Docker image registry server without a protocol such as \"http\" and \"https\"."
+ },
+ "username": {
+ "type": "string",
+ "description": "The username for the private registry."
+ },
+ "password": {
+ "type": "string",
+ "description": "The password for the private registry."
+ }
+ },
+ "required": [
+ "server",
+ "username"
+ ]
+ },
+ "ContainerGroupDiagnostics": {
+ "description": "Container group diagnostic information.",
+ "type": "object",
+ "properties": {
+ "logAnalytics": {
+ "description": "Container group log analytics information.",
+ "$ref": "#/definitions/LogAnalytics"
+ }
+ }
+ },
+ "LogAnalytics": {
+ "description": "Container group log analytics information.",
+ "type": "object",
+ "properties": {
+ "workspaceId": {
+ "description": "The workspace id for log analytics",
+ "type": "string"
+ },
+ "workspaceKey": {
+ "description": "The workspace key for log analytics",
+ "type": "string"
+ },
+ "logType": {
+ "type": "string",
+ "description": "The log type to be used.",
+ "enum": [
+ "ContainerInsights",
+ "ContainerInstanceLogs"
+ ],
+ "x-ms-enum": {
+ "name": "LogAnalyticsLogType",
+ "modelAsString": true
+ }
+ },
+ "metadata": {
+ "type": "object",
+ "description": "Metadata for log analytics.",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "workspaceId",
+ "workspaceKey"
+ ]
+ },
+ "ContainerGroupNetworkProfile": {
+ "description": "Container group network profile information.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The identifier for a network profile.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "IpAddress": {
+ "description": "IP address for the container group.",
+ "type": "object",
+ "properties": {
+ "ports": {
+ "type": "array",
+ "description": "The list of ports exposed on the container group.",
+ "items": {
+ "$ref": "#/definitions/Port"
+ }
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies if the IP is exposed to the public internet or private VNET.",
+ "enum": [
+ "Public",
+ "Private"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupIpAddressType",
+ "modelAsString": true
+ }
+ },
+ "ip": {
+ "type": "string",
+ "description": "The IP exposed to the public internet."
+ },
+ "dnsNameLabel": {
+ "type": "string",
+ "description": "The Dns name label for the IP."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The FQDN for the IP."
+ }
+ },
+ "required": [
+ "ports",
+ "type"
+ ]
+ },
+ "Port": {
+ "description": "The port exposed on the container group.",
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The protocol associated with the port.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "description": "The port number.",
+ "format": "int32"
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "ContainerPort": {
+ "description": "The port exposed on the container instance.",
+ "type": "object",
+ "properties": {
+ "protocol": {
+ "type": "string",
+ "description": "The protocol associated with the port.",
+ "enum": [
+ "TCP",
+ "UDP"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerNetworkProtocol",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The port number exposed within the container group."
+ }
+ },
+ "required": [
+ "port"
+ ]
+ },
+ "EnvironmentVariable": {
+ "description": "The environment variable to set within the container instance.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the environment variable."
+ },
+ "value": {
+ "type": "string",
+ "description": "The value of the environment variable."
+ },
+ "secureValue": {
+ "type": "string",
+ "description": "The value of the secure environment variable."
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "OperationListResult": {
+ "description": "The operation list response that contains all operations for Azure Container Instance service.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ },
+ "description": "The list of operations."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of operations."
+ }
+ }
+ },
+ "Operation": {
+ "description": "An operation for Azure Container Instance service.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The name of the operation."
+ },
+ "display": {
+ "description": "The display information of the operation.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "The name of the provider of the operation.",
+ "type": "string"
+ },
+ "resource": {
+ "type": "string",
+ "description": "The name of the resource type of the operation."
+ },
+ "operation": {
+ "description": "The friendly name of the operation.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "properties": {
+ "type": "object",
+ "description": "The additional properties.",
+ "x-ms-client-flatten": true
+ },
+ "origin": {
+ "type": "string",
+ "description": "The intended executor of the operation.",
+ "enum": [
+ "User",
+ "System"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerInstanceOperationsOrigin",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "display"
+ ]
+ },
+ "UsageListResult": {
+ "description": "The response containing the usage data",
+ "type": "object",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "description": "The usage data.",
+ "items": {
+ "$ref": "#/definitions/Usage"
+ }
+ }
+ }
+ },
+ "Usage": {
+ "description": "A single usage result",
+ "type": "object",
+ "properties": {
+ "unit": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Unit of the usage result"
+ },
+ "currentValue": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The current usage of the resource"
+ },
+ "limit": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The maximum permitted usage of the resource."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The name object of the resource",
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource"
+ },
+ "localizedValue": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The localized name of the resource"
+ }
+ }
+ }
+ }
+ },
+ "ContainerGroupListResult": {
+ "description": "The container group list response that contains the container group properties.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerGroup"
+ },
+ "description": "The list of container groups."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of container groups."
+ }
+ }
+ },
+ "Logs": {
+ "description": "The logs.",
+ "type": "object",
+ "properties": {
+ "content": {
+ "type": "string",
+ "description": "The content of the log."
+ }
+ }
+ },
+ "ContainerExecRequest": {
+ "description": "The container exec request.",
+ "type": "object",
+ "properties": {
+ "command": {
+ "type": "string",
+ "description": "The command to be executed."
+ },
+ "terminalSize": {
+ "type": "object",
+ "description": "The size of the terminal.",
+ "properties": {
+ "rows": {
+ "type": "integer",
+ "description": "The row size of the terminal"
+ },
+ "cols": {
+ "type": "integer",
+ "description": "The column size of the terminal"
+ }
+ }
+ }
+ }
+ },
+ "ContainerExecResponse": {
+ "description": "The information for the container exec command.",
+ "type": "object",
+ "properties": {
+ "webSocketUri": {
+ "type": "string",
+ "description": "The uri for the exec websocket."
+ },
+ "password": {
+ "type": "string",
+ "description": "The password to start the exec command."
+ }
+ }
+ },
+ "DnsConfiguration": {
+ "description": "DNS configuration for the container group.",
+ "type": "object",
+ "required": [
+ "nameServers"
+ ],
+ "properties": {
+ "nameServers": {
+ "description": "The DNS servers for the container group.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "searchDomains": {
+ "description": "The DNS search domains for hostname lookup in the container group.",
+ "type": "string"
+ },
+ "options": {
+ "description": "The DNS options for the container group.",
+ "type": "string"
+ }
+ }
+ },
+ "Resource": {
+ "type": "object",
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CachedImagesListResult": {
+ "description": "The response containing cached images.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/cachedImages"
+ },
+ "description": "The list of cached images."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of cached images."
+ }
+ }
+ },
+ "cachedImages": {
+ "description": "The cached image and OS type.",
+ "type": "object",
+ "required": [
+ "osType",
+ "image"
+ ],
+ "properties": {
+ "osType": {
+ "type": "string",
+ "description": "The OS type of the cached image."
+ },
+ "image": {
+ "type": "string",
+ "description": "The cached image name."
+ }
+ }
+ },
+ "CapabilitiesListResult": {
+ "description": "The response containing list of capabilities.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Capabilities"
+ },
+ "description": "The list of capabilities."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of capabilities."
+ }
+ }
+ },
+ "Capabilities": {
+ "description": "The regional capabilities.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource type that this capability describes."
+ },
+ "osType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The OS type that this capability describes."
+ },
+ "location": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource location."
+ },
+ "ipAddressType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The ip address type that this capability describes."
+ },
+ "gpu": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The GPU sku that this capability describes."
+ },
+ "capabilities": {
+ "type": "object",
+ "readOnly": true,
+ "description": "The supported capabilities.",
+ "properties": {
+ "maxMemoryInGB": {
+ "type": "number",
+ "readOnly": true,
+ "description": "The maximum allowed memory request in GB."
+ },
+ "maxCpu": {
+ "type": "number",
+ "readOnly": true,
+ "description": "The maximum allowed CPU request in cores."
+ },
+ "maxGpuCount": {
+ "type": "number",
+ "readOnly": true,
+ "description": "The maximum allowed GPU count."
+ }
+ }
+ }
+ }
+ },
+ "ContainerGroupSku": {
+ "description": "The container group SKU.",
+ "type": "string",
+ "enum": [
+ "Standard",
+ "Dedicated"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerGroupSku",
+ "modelAsString": true
+ }
+ },
+ "EncryptionProperties": {
+ "description": "The container group encryption properties.",
+ "type": "object",
+ "properties": {
+ "vaultBaseUrl": {
+ "description": "The keyvault base url.",
+ "type": "string"
+ },
+ "keyName": {
+ "description": "The encryption key name.",
+ "type": "string"
+ },
+ "keyVersion": {
+ "description": "The encryption key version.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "vaultBaseUrl",
+ "keyName",
+ "keyVersion"
+ ]
+ },
+ "InitContainerDefinition": {
+ "description": "The init container definition.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name for the init container.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "The properties for the init container.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/InitContainerPropertiesDefinition"
+ }
+ },
+ "required": [
+ "name",
+ "properties"
+ ]
+ },
+ "InitContainerPropertiesDefinition": {
+ "description": "The init container definition properties.",
+ "type": "object",
+ "properties": {
+ "image": {
+ "description": "The image of the init container.",
+ "type": "string"
+ },
+ "command": {
+ "description": "The command to execute within the init container in exec form.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "environmentVariables": {
+ "description": "The environment variables to set in the init container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/EnvironmentVariable"
+ }
+ },
+ "instanceView": {
+ "description": "The instance view of the init container. Only valid in response.",
+ "readOnly": true,
+ "type": "object",
+ "properties": {
+ "restartCount": {
+ "readOnly": true,
+ "type": "integer",
+ "description": "The number of times that the init container has been restarted."
+ },
+ "currentState": {
+ "readOnly": true,
+ "description": "The current state of the init container.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "previousState": {
+ "readOnly": true,
+ "description": "The previous state of the init container.",
+ "$ref": "#/definitions/ContainerState"
+ },
+ "events": {
+ "readOnly": true,
+ "description": "The events of the init container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Event"
+ }
+ }
+ }
+ },
+ "volumeMounts": {
+ "description": "The volume mounts available to the init container.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/VolumeMount"
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Container Instance 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 Instance service."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "LocationParameter": {
+ "name": "location",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The identifier for the physical azure location.",
+ "x-ms-parameter-location": "method"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ContainerGroupNameParameter": {
+ "name": "containerGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the container group.",
+ "x-ms-parameter-location": "method"
+ },
+ "OperationIdParameter": {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The operation Id.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CachedImagesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CachedImagesList.json
new file mode 100644
index 000000000000..8da2922987a8
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CachedImagesList.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westcentralus",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "osType": "Linux",
+ "image": "ubuntu:16.04"
+ },
+ {
+ "osType": "Linux",
+ "image": "alpine:3.6"
+ },
+ {
+ "osType": "Windows",
+ "image": "microsoft/nanoserver:10.0.14393.2485"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CapabilitiesList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CapabilitiesList.json
new file mode 100644
index 000000000000..9eadf0fd7f76
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/CapabilitiesList.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westus",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "containerGroups",
+ "osType": "Linux",
+ "location": "West US",
+ "ipAddressType": "Public",
+ "gpu": "K80",
+ "capabilities": {
+ "maxMemoryInGB": 14,
+ "maxCpu": 4,
+ "maxGpuCount": 4
+ }
+ },
+ {
+ "resourceType": "containerGroups",
+ "osType": "Windows",
+ "location": "West US",
+ "ipAddressType": "Public",
+ "gpu": "None",
+ "capabilities": {
+ "maxMemoryInGB": 14,
+ "maxCpu": 4,
+ "maxGpuCount": 0
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerExec.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerExec.json
new file mode 100644
index 000000000000..920b96b6c6b2
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerExec.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-12-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerName": "container1",
+ "containerExecRequest": {
+ "command": "/bin/bash",
+ "terminalSize": {
+ "rows": 12,
+ "cols": 12
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "webSocketUri": "wss://web-socket-uri",
+ "password": "password"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupUsage.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupUsage.json
new file mode 100644
index 000000000000..b84c41dadcc2
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupUsage.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "location": "westcentralus",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "unit": "Count",
+ "currentValue": 1,
+ "limit": 2000,
+ "name": {
+ "value": "ContainerGroups",
+ "localizedValue": "Container Groups"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsCreateOrUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsCreateOrUpdate.json
new file mode 100644
index 000000000000..6e150b1a4b17
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsCreateOrUpdate.json
@@ -0,0 +1,302 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-12-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerGroup": {
+ "location": "west us",
+ "identity": {
+ "type": "SystemAssigned, UserAssigned",
+ "userAssignedIdentities": {
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myResourceGroup/providers/Microsoft.ManagedIdentity/userAssignedIdentities/identity-name": {}
+ }
+ },
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5,
+ "gpu": {
+ "count": 1,
+ "sku": "K80"
+ }
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "diagnostics": {
+ "logAnalytics": {
+ "workspaceId": "workspaceid",
+ "workspaceKey": "workspaceKey",
+ "logType": "ContainerInsights",
+ "metadata": {
+ "test-key": "test-metadata-value"
+ }
+ }
+ },
+ "networkProfile": {
+ "id": "test-network-profile-id"
+ },
+ "dnsConfig": {
+ "nameServers": [
+ "1.1.1.1"
+ ],
+ "searchDomains": "cluster.local svc.cluster.local",
+ "options": "ndots:2"
+ },
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ports": [
+ {
+ "protocol": "TCP",
+ "port": 80
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1"
+ },
+ "osType": "Linux",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName",
+ "storageAccountKey": "accountKey"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {
+ "secretKey1": "SecretValue1InBase64",
+ "secretKey2": "SecretValue2InBase64"
+ }
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5,
+ "gpu": {
+ "count": 1,
+ "sku": "K80"
+ }
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "diagnostics": {
+ "logAnalytics": {
+ "workspaceId": "workspaceid",
+ "workspaceKey": ""
+ }
+ },
+ "dnsConfig": {
+ "nameServers": [
+ "1.1.1.1"
+ ],
+ "searchDomains": "cluster.local svc.cluster.local",
+ "options": "ndots:2"
+ },
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1",
+ "fqdn": "dnsnamelabel1.azure-container.io"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {}
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5,
+ "gpu": {
+ "count": 1,
+ "sku": "K80"
+ }
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "dnsConfig": {
+ "nameServers": [
+ "1.1.1.1"
+ ]
+ },
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1",
+ "fqdn": "dnsnamelabel1.azure-container.io"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {}
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsDelete.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsDelete.json
new file mode 100644
index 000000000000..bd9972477c70
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsDelete.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-12-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ },
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Failed.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Failed.json
new file mode 100644
index 000000000000..2e1670cc6b40
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Failed.json
@@ -0,0 +1,115 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "instanceView": {
+ "restartCount": 0,
+ "currentState": {
+ "state": "Waiting",
+ "startTime": "2017-08-08T00:09:10Z",
+ "detailStatus": ""
+ },
+ "events": [
+ {
+ "count": 1,
+ "firstTimestamp": "2017-08-08T00:09:01Z",
+ "lastTimestamp": "2017-08-08T00:09:01Z",
+ "message": "pulling image \"nginx\"",
+ "name": "Pulling",
+ "type": "Normal"
+ },
+ {
+ "count": 1,
+ "firstTimestamp": "2017-08-08T00:09:10Z",
+ "lastTimestamp": "2017-08-08T00:09:10Z",
+ "message": "Successfully pulled image \"nginx\"",
+ "name": "Pulled",
+ "type": "Normal"
+ }
+ ]
+ },
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "instanceView": {
+ "events": [
+ {
+ "count": 1,
+ "firstTimestamp": "2017-10-08T00:19:10Z",
+ "lastTimestamp": "2017-10-08T00:19:10Z",
+ "message": "Output: mount error(2): Permission denied",
+ "name": "FailedMount",
+ "type": "Normal"
+ }
+ ],
+ "state": "Pending"
+ },
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Failed",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Succeeded.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Succeeded.json
new file mode 100644
index 000000000000..effa5c9976a3
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsGet_Succeeded.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsList.json
new file mode 100644
index 000000000000..3eba7d23f683
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsList.json
@@ -0,0 +1,87 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "instanceView": {
+ "restartCount": 0,
+ "currentState": {
+ "state": "Running",
+ "startTime": "2017-10-17T17:27:21Z",
+ "detailStatus": ""
+ },
+ "events": []
+ },
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsListByResourceGroup.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsListByResourceGroup.json
new file mode 100644
index 000000000000..2e3bbcd1580f
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsListByResourceGroup.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "demo",
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid/resourceGroups/demo/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "mountPath": "/mnt/volume1",
+ "name": "volume1",
+ "readOnly": false
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [
+ {
+ "server": "azcloudconsoleregistry.azurecr.io",
+ "username": "azcloudconsoleregistry"
+ }
+ ],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "azureFile": {
+ "readOnly": false,
+ "shareName": "share1",
+ "storageAccountName": "storage1"
+ },
+ "name": "volume1"
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerInstance/containerGroups"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsRestart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsRestart.json
new file mode 100644
index 000000000000..d8a9c37fb7d1
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsRestart.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-12-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStart.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStart.json
new file mode 100644
index 000000000000..d8a9c37fb7d1
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStart.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-12-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStop.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStop.json
new file mode 100644
index 000000000000..d8a9c37fb7d1
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsStop.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-12-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1"
+ },
+ "responses": {
+ "204": {}
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsUpdate.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsUpdate.json
new file mode 100644
index 000000000000..f73f9822b981
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerGroupsUpdate.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-12-01",
+ "resourceGroupName": "demoResource",
+ "containerGroupName": "demo1",
+ "Resource": {
+ "tags": {
+ "tag1key": "tag1Value",
+ "tag2key": "tag2Value"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/demoResource/providers/Microsoft.ContainerInstance/containerGroups/demo1",
+ "location": "WestUs",
+ "name": "demo1",
+ "type": "Microsoft.ContainerInstance/containerGroups",
+ "tags": {
+ "tag1key": "tag1Value",
+ "tag2key": "tag2Value"
+ },
+ "properties": {
+ "containers": [
+ {
+ "name": "demo1",
+ "properties": {
+ "command": [],
+ "environmentVariables": [],
+ "image": "nginx",
+ "ports": [
+ {
+ "port": 80
+ }
+ ],
+ "resources": {
+ "requests": {
+ "cpu": 1,
+ "memoryInGB": 1.5
+ }
+ },
+ "volumeMounts": [
+ {
+ "name": "volume1",
+ "mountPath": "/mnt/volume1",
+ "readOnly": false
+ },
+ {
+ "name": "volume2",
+ "mountPath": "/mnt/volume2",
+ "readOnly": false
+ },
+ {
+ "name": "volume3",
+ "mountPath": "/mnt/volume3",
+ "readOnly": true
+ }
+ ]
+ }
+ }
+ ],
+ "imageRegistryCredentials": [],
+ "ipAddress": {
+ "ip": "10.0.0.1",
+ "ports": [
+ {
+ "port": 80,
+ "protocol": "TCP"
+ }
+ ],
+ "type": "Public",
+ "dnsNameLabel": "dnsnamelabel1",
+ "fqdn": "dnsnamelabel1.azure-container.io"
+ },
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "volumes": [
+ {
+ "name": "volume1",
+ "azureFile": {
+ "shareName": "shareName",
+ "storageAccountName": "accountName"
+ }
+ },
+ {
+ "name": "volume2",
+ "emptyDir": {}
+ },
+ {
+ "name": "volume3",
+ "secret": {}
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerListLogs.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerListLogs.json
new file mode 100644
index 000000000000..6b7d92d6e8a2
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/ContainerListLogs.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "api-version": "2019-12-01",
+ "resourceGroupName": "demo",
+ "containerGroupName": "demo1",
+ "containerName": "container1",
+ "tail": 10
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "content": "log content"
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/OperationsList.json b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/OperationsList.json
new file mode 100644
index 000000000000..c97bee1cdd55
--- /dev/null
+++ b/specification/containerinstance/resource-manager/Microsoft.ContainerInstance/stable/2019-12-01/examples/OperationsList.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2019-12-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.ContainerInstance/containerGroups/read",
+ "display": {
+ "provider": "Microsoft Container Instance",
+ "resource": "Container Group",
+ "operation": "Get Container Groups",
+ "description": "Get all container goups."
+ },
+ "origin": "User"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerinstance/resource-manager/readme.azureresourceschema.md b/specification/containerinstance/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..60456759fd2a
--- /dev/null
+++ b/specification/containerinstance/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,120 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-containerinstance-2019-12-01
+ - tag: schema-containerinstance-2018-10-01
+ - tag: schema-containerinstance-2018-09-01
+ - tag: schema-containerinstance-2018-06-01
+ - tag: schema-containerinstance-2018-04-01
+ - tag: schema-containerinstance-2018-02-01-preview
+ - tag: schema-containerinstance-2017-12-01-preview
+ - tag: schema-containerinstance-2017-10-01-preview
+ - tag: schema-containerinstance-2017-08-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-containerinstance-2019-12-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2019-12-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2018-09-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2018-06-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/stable/2018-04-01/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2018-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2018-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/preview/2018-02-01-preview/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2017-12-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2017-12-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2017-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2017-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/preview/2017-10-01-preview/containerInstance.json
+
+```
+
+### Tag: schema-containerinstance-2017-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerinstance-2017-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerInstance/preview/2017-08-01-preview/containerInstance.json
+
+```
diff --git a/specification/containerinstance/resource-manager/readme.csharp.md b/specification/containerinstance/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..c9346d21e519
--- /dev/null
+++ b/specification/containerinstance/resource-manager/readme.csharp.md
@@ -0,0 +1,14 @@
+## 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.ContainerInstance
+ payload-flattening-threshold: 1
+ output-folder: $(csharp-sdks-folder)/containerinstance/Microsoft.Azure.Management.ContainerInstance/src/Generated
+ clear-output-folder: true
+```
diff --git a/specification/containerinstance/resource-manager/readme.go.md b/specification/containerinstance/resource-manager/readme.go.md
index 337b7b5056c8..ee1b342738a1 100644
--- a/specification/containerinstance/resource-manager/readme.go.md
+++ b/specification/containerinstance/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2019-12
- tag: package-2018-10
- tag: package-2018-09
- tag: package-2018-06
@@ -22,6 +23,14 @@ batch:
- tag: package-2017-10-preview
- tag: package-2017-08-preview
```
+### Tag: package-2019-12 and go
+
+These settings apply only when `--tag=package-2019-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2019-12' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2019-12-01/$(namespace)
+```
### Tag: package-2018-10 and go
diff --git a/specification/containerinstance/resource-manager/readme.java.md b/specification/containerinstance/resource-manager/readme.java.md
new file mode 100644
index 000000000000..e8edc02c0f8c
--- /dev/null
+++ b/specification/containerinstance/resource-manager/readme.java.md
@@ -0,0 +1,117 @@
+## 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.containerinstance
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerinstance
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2019-12
+ - tag: package-2018-10
+ - tag: package-2018-04
+ - tag: package-2018-02-preview
+ - tag: package-2017-12-preview
+ - tag: package-2017-10-preview
+ - tag: package-2017-08-preview
+```
+
+### Tag: package-2019-12 and java
+
+These settings apply only when `--tag=package-2019-12 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-12' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerinstance.v2019_12_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2019_12_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2018-10 and java
+
+These settings apply only when `--tag=package-2018-10 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-10' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerinstance.v2018_10_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_10_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2018-04 and java
+
+These settings apply only when `--tag=package-2018-04 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerinstance.v2018_04_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_04_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2018-02-preview and java
+
+These settings apply only when `--tag=package-2018-02-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2018-02-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerinstance.v2018_02_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_02_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2017-12-preview and java
+
+These settings apply only when `--tag=package-2017-12-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-12-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerinstance.v2017_12_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_12_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2017-10-preview and java
+
+These settings apply only when `--tag=package-2017-10-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-10-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerinstance.v2017_10_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_10_01_preview
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2017-08-preview and java
+
+These settings apply only when `--tag=package-2017-08-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-08-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerinstance.v2017_08_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_08_01_preview
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/containerinstance/resource-manager/readme.md b/specification/containerinstance/resource-manager/readme.md
index 9d309a675746..6eca258b4fb5 100644
--- a/specification/containerinstance/resource-manager/readme.md
+++ b/specification/containerinstance/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for ContainerInstance.
-
-
---
+
## Getting Started
+
To build the SDK for ContainerInstance, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,18 +15,28 @@ To build the SDK for ContainerInstance, simply [Install AutoRest](https://aka.ms
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-
-
### Basic Information
+
These are the global settings for the ContainerInstance API.
``` yaml
openapi-type: arm
-tag: package-2018-10
+tag: package-2019-12
+```
+
+
+### Tag: package-2019-12
+
+These settings apply only when `--tag=package-2019-12` is specified on the command line.
+
+```yaml $(tag) == 'package-2019-12'
+input-file:
+ - Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json
```
### Tag: package-2018-10
@@ -83,7 +93,6 @@ input-file:
- Microsoft.ContainerInstance/preview/2017-12-01-preview/containerInstance.json
```
-
### Tag: package-2017-10-preview
These settings apply only when `--tag=package-2017-10-preview` is specified on the command line.
@@ -93,7 +102,6 @@ input-file:
- Microsoft.ContainerInstance/preview/2017-10-01-preview/containerInstance.json
```
-
### Tag: package-2017-08-preview
These settings apply only when `--tag=package-2017-08-preview` is specified on the command line.
@@ -113,8 +121,8 @@ directive:
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -132,23 +140,14 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_instance']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js containerinstance/resource-manager
```
-
## 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.ContainerInstance
- payload-flattening-threshold: 1
- output-folder: $(csharp-sdks-folder)/containerinstance/Microsoft.Azure.Management.ContainerInstance/src/Generated
- clear-output-folder: true
-```
+See configuration in [readme.csharp.md](./readme.csharp.md)
## Go
@@ -156,109 +155,30 @@ See configuration in [readme.go.md](./readme.go.md)
## Java
-These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(java)
-azure-arm: true
-fluent: true
-namespace: com.microsoft.azure.management.containerinstance
-license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
-output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-containerinstance
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2018-10
- - tag: package-2018-04
- - tag: package-2018-02-preview
- - tag: package-2017-12-preview
- - tag: package-2017-10-preview
- - tag: package-2017-08-preview
-```
-
-### Tag: package-2018-10 and java
-
-These settings apply only when `--tag=package-2018-10 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2018-10' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.containerinstance.v2018_10_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_10_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2018-04 and java
-
-These settings apply only when `--tag=package-2018-04 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2018-04' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.containerinstance.v2018_04_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_04_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2018-02-preview and java
+See configuration in [readme.java.md](./readme.java.md)
-These settings apply only when `--tag=package-2018-02-preview --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
+## Node.js
-``` yaml $(tag) == 'package-2018-02-preview' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.containerinstance.v2018_02_01_preview
- output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2018_02_01_preview
-regenerate-manager: true
-generate-interface: true
-```
+See configuration in [readme.nodejs.md](./readme.nodejs.md)
-### Tag: package-2017-12-preview and java
+## Python
-These settings apply only when `--tag=package-2017-12-preview --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
+See configuration in [readme.python.md](./readme.python.md)
-``` yaml $(tag) == 'package-2017-12-preview' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.containerinstance.v2017_12_01_preview
- output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_12_01_preview
-regenerate-manager: true
-generate-interface: true
-```
+## Ruby
-### Tag: package-2017-10-preview and java
+See configuration in [readme.ruby.md](./readme.ruby.md)
-These settings apply only when `--tag=package-2017-10-preview --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
+## TypeScript
-``` yaml $(tag) == 'package-2017-10-preview' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.containerinstance.v2017_10_01_preview
- output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_10_01_preview
-regenerate-manager: true
-generate-interface: true
-```
+See configuration in [readme.typescript.md](./readme.typescript.md)
-### Tag: package-2017-08-preview and java
-These settings apply only when `--tag=package-2017-08-preview --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
+## AzureResourceSchema
-``` yaml $(tag) == 'package-2017-08-preview' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.containerinstance.v2017_08_01_preview
- output-folder: $(azure-libraries-for-java-folder)/sdk/containerinstance/mgmt-v2017_08_01_preview
-regenerate-manager: true
-generate-interface: true
-```
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -270,6 +190,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.ContainerInstance/stable/2019-12-01/containerInstance.json
- $(this-folder)/Microsoft.ContainerInstance/stable/2018-10-01/containerInstance.json
- $(this-folder)/Microsoft.ContainerInstance/stable/2018-09-01/containerInstance.json
- $(this-folder)/Microsoft.ContainerInstance/stable/2018-06-01/containerInstance.json
@@ -281,11 +202,10 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/containerinstance/resource-manager/readme.ruby.md b/specification/containerinstance/resource-manager/readme.ruby.md
index 6b401900041b..add086619a5f 100644
--- a/specification/containerinstance/resource-manager/readme.ruby.md
+++ b/specification/containerinstance/resource-manager/readme.ruby.md
@@ -12,6 +12,7 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2019-12
- tag: package-2018-10
- tag: package-2018-09
- tag: package-2018-06
@@ -22,6 +23,16 @@ batch:
- tag: package-2017-08-preview
```
+### Tag: package-2019-12 and ruby
+
+These settings apply only when `--tag=package-2019-12 --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-12' && $(ruby)
+namespace: "Azure::ContainerInstance::Mgmt::V2019_12_01"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_container_instance/lib
+```
+
### Tag: package-2018-09 and ruby
These settings apply only when `--tag=package-2018-10 --ruby` is specified on the command line.
diff --git a/specification/containerinstance/resource-manager/readme.typescript.md b/specification/containerinstance/resource-manager/readme.typescript.md
index 48302990c6c1..918915d508f9 100644
--- a/specification/containerinstance/resource-manager/readme.typescript.md
+++ b/specification/containerinstance/resource-manager/readme.typescript.md
@@ -7,7 +7,7 @@ Please also specify `--typescript-sdks-folder=`.
+
+### Tag: schema-containerregistry-2019-12-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-12-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2019-12-01-preview/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2019-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2019-06-01-preview/containerregistry_build.json
+
+```
+
+### Tag: schema-containerregistry-2019-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2019-05-01-preview/containerregistry_scopemap.json
+
+```
+
+### Tag: schema-containerregistry-2019-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2019-05-01/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2019-04-01/containerregistry_build.json
+
+```
+
+### Tag: schema-containerregistry-2018-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2018-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2018-09-01/containerregistry_build.json
+
+```
+
+### Tag: schema-containerregistry-2018-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2018-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2018-02-01-preview/containerregistry_build.json
+
+```
+
+### Tag: schema-containerregistry-2017-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2017-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2017-10-01/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2017-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2017-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2017-06-01-preview/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2017-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2017-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/stable/2017-03-01/containerregistry.json
+
+```
+
+### Tag: schema-containerregistry-2016-06-27-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerregistry-2016-06-27-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerRegistry/preview/2016-06-27-preview/containerregistry.json
+
+```
diff --git a/specification/containerregistry/resource-manager/readme.md b/specification/containerregistry/resource-manager/readme.md
index dc042e35dca0..ac6dd32aba11 100644
--- a/specification/containerregistry/resource-manager/readme.md
+++ b/specification/containerregistry/resource-manager/readme.md
@@ -180,6 +180,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_registry']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js containerregistry/resource-manager
```
## C#
@@ -209,6 +212,10 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
index 99afee6bcfd0..39b326850de7 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
@@ -1746,7 +1746,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
index 46c3d28a4b11..fb24414f041a 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
@@ -1639,7 +1639,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
index 2adcf5c68ab2..da7e5b3496df 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
@@ -1741,7 +1741,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
index c16a98053709..d50dcee822ab 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
@@ -1847,7 +1847,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
index b8e3358738bf..585ad556f9e0 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
@@ -1895,7 +1895,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
index 8282d9264ca7..8ebd1e442d6b 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
@@ -1938,7 +1938,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
index dea09d26dea6..83a3690c1e3d 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
@@ -1938,7 +1938,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
index 4c23040f7b7a..656eceb27f8d 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
@@ -1957,7 +1957,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
index 894a1ab3fb3b..f23476495830 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
@@ -1979,7 +1979,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
index 83b5e9e30cbb..e8797a360276 100644
--- a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
@@ -1997,7 +1997,7 @@
},
"enablePodSecurityPolicy": {
"type": "boolean",
- "description": "(PREVIEW) Whether to enable Kubernetes Pod security policy."
+ "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",
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..dc1b74e96ef5
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..50002ea64342
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..35a6bb854d56
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..2ede92507048
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..46437321e790
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..753d6f5f7789
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..14039932b31a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..2ef373f515bb
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPoolsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..cad9aed64e89
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..17ad15f53e24
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,237 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11",
+ "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",
+ "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",
+ "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/2020-06-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..04dd21377676
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,273 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "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
+ },
+ "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"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "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"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "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/2020-06-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..ccbd290b5d9e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,265 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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",
+ "nodeImageVersion": "AKSUbuntu:1604:2020.03.11"
+ }
+ ],
+ "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",
+ "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",
+ "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/2020-06-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..ed2c55924421
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..873473904cc8
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGet.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "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",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..96b7055f4a8c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..5f5b6488729c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..b8d2dc023d4f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..86696f7060d9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..a3f86daa7a9f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..6cb827c2c670
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..71f3f957608a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..ed2c55924421
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..569e0392ca7a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..64c8e8d92e9a
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..0a18cad228f0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..ce63ece40250
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..3ee7e1bf0c83
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-06-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/2020-06-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
new file mode 100644
index 000000000000..0a3991450f28
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
@@ -0,0 +1,2958 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2020-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": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for a managed cluster.",
+ "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "deprecated": true,
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/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": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Gets cluster monitoring user credential of a managed cluster.",
+ "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "description": "Gets the details of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update a Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ },
+ "Create/Update AAD Managed Cluster with EnableAzureRBAC": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json"
+ },
+ "Create Managed Cluster with PPG": {
+ "$ref": "./examples/ManagedClustersCreate_PPG.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "description": "Updates a managed cluster with the specified tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "description": "Deletes the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the agent pool.",
+ "description": "Gets the details of the agent pool by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool.",
+ "description": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "Parameters supplied to the Create or Update an agent pool operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
+ },
+ "Create Spot Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Spot.json"
+ },
+ "Create Agent Pool with PPG": {
+ "$ref": "./examples/AgentPoolsCreate_PPG.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool.",
+ "description": "Deletes the agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for an agent pool.",
+ "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported versions for the specified agent pool.",
+ "description": "Gets a list of supported versions for the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotate certificates of a managed cluster.",
+ "description": "Rotate certificates of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ },
+ "/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": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.",
+ "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 private endpoint connection.",
+ "description": "Gets the details of the private endpoint connection by managed cluster and resource group.",
+ "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.",
+ "description": "Updates a private endpoint connection in the specified managed cluster.",
+ "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": "Parameters supplied to the Update a private endpoint connection operation."
+ }
+ ],
+ "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.",
+ "description": "Deletes the private endpoint connection in the specified managed cluster.",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Compute Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1023,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType",
+ "description": "AgentPoolType represents types of an agent pool"
+ },
+ "mode": {
+ "$ref": "#/definitions/AgentPoolMode",
+ "description": "AgentPoolMode represents mode of an agent pool"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Version of orchestrator specified when creating the managed cluster."
+ },
+ "nodeImageVersion": {
+ "type": "string",
+ "description": "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, which only appears in the response."
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "description": "Enable public IP for nodes"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "spotMaxPrice": {
+ "$ref": "#/definitions/SpotMaxPrice",
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ },
+ "proximityPlacementGroupID": {
+ "$ref": "#/definitions/ProximityPlacementGroupID",
+ "description": "The ID for Proximity Placement Group."
+ }
+ },
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true
+ },
+ "description": "AgentPoolType represents types of an agent pool."
+ },
+ "AgentPoolMode": {
+ "type": "string",
+ "enum": [
+ "System",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolMode",
+ "modelAsString": true
+ },
+ "description": "AgentPoolMode represents mode of an agent pool."
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPoolUpgradeSettings": {
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default"
+ }
+ },
+ "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": "The administrator username to use for Windows VMs.",
+ "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "The administrator password to use for Windows VMs.",
+ "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true
+ },
+ "description": "Network mode used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true
+ },
+ "default": "loadBalancer",
+ "description": "The outbound (egress) routing method."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true
+ },
+ "description": "The load balancer sku for the managed cluster."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(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": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string"
+ },
+ "scan-interval": {
+ "type": "string"
+ },
+ "scale-down-delay-after-add": {
+ "type": "string"
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string"
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string"
+ },
+ "scale-down-unneeded-time": {
+ "type": "string"
+ },
+ "scale-down-unready-time": {
+ "type": "string"
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string"
+ },
+ "max-graceful-termination-sec": {
+ "type": "string"
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "Access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Authorized IP Ranges to kubernetes API server."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "description": "Whether to create the cluster as a private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
+ "enum": [
+ "SystemAssigned",
+ "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 user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. 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 managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource id of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client id of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object id of the user assigned identity."
+ }
+ }
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "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": "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."
+ }
+ },
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "Properties of agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "LatestNodeImageVersion is 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": "Id of the agent pool available versions."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool available versions."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool available versions."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true
+ },
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true
+ },
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "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 of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of a managed cluster SKU.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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 for 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."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..ec43ba9e1863
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..a001a5428bf1
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..c4fd0dc07f1e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..0341ca53c6a3
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..47fd641d2059
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..f61986d807a7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..b110ebe7520f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..b2d63467a9cf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json
new file mode 100644
index 000000000000..2c069e0f7d05
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPoolsUpgradeNodeImageVersion.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "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/2020-07-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..11ec7257c46f
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..d13c0a2cfdba
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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",
+ "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",
+ "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/2020-07-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..ae067af5d51d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,272 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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": {},
+ "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"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "loadBalancerSku": "basic",
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "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"
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": true,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "enablePodSecurityPolicy": true,
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16",
+ "loadBalancerSku": "standard",
+ "outboundType": "loadBalancer",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "managedOutboundIPs": {
+ "count": 2
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ },
+ "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/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
new file mode 100644
index 000000000000..07220a608e8d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
@@ -0,0 +1,275 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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",
+ "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",
+ "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/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..e3fd532bc1bf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,264 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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",
+ "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",
+ "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/2020-07-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..2214600840a4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..4650fbd25837
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGet.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "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",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..7589ab0ac25b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..3e30bbecd4f4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..496b4f0e00ce
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..989448f5bf75
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..2cae16478490
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..93c854ac7497
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..309d53c2ab38
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..2214600840a4
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..69dced82c890
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..49ebb2d38eef
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-07-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..805aef365f3d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..a680ac3d8ca7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..6e9dfbb9deac
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-07-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/2020-07-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
new file mode 100644
index 000000000000..14b7db1b5c8d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
@@ -0,0 +1,3028 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2020-07-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for a managed cluster.",
+ "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "deprecated": true,
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/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": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Gets cluster monitoring user credential of a managed cluster.",
+ "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "description": "Gets the details of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update a Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ },
+ "Create/Update AAD Managed Cluster with EnableAzureRBAC": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json"
+ },
+ "Create Managed Cluster with PPG": {
+ "$ref": "./examples/ManagedClustersCreate_PPG.json"
+ },
+ "Create/Update Managed Cluster with EnableAHUB": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "description": "Updates a managed cluster with the specified tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "description": "Deletes the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the agent pool.",
+ "description": "Gets the details of the agent pool by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool.",
+ "description": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "Parameters supplied to the Create or Update an agent pool operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
+ },
+ "Create Spot Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Spot.json"
+ },
+ "Create Agent Pool with PPG": {
+ "$ref": "./examples/AgentPoolsCreate_PPG.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool.",
+ "description": "Deletes the agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for an agent pool.",
+ "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported versions for the specified agent pool.",
+ "description": "Gets a list of supported versions for the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotate certificates of a managed cluster.",
+ "description": "Rotate certificates of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ },
+ "/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": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.",
+ "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 private endpoint connection.",
+ "description": "Gets the details of the private endpoint connection by managed cluster and resource group.",
+ "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.",
+ "description": "Updates a private endpoint connection in the specified managed cluster.",
+ "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": "Parameters supplied to the Update a private endpoint connection operation."
+ }
+ ],
+ "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.",
+ "description": "Deletes the private endpoint connection in the specified managed cluster.",
+ "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": "ManagedClusters_UpgradeNodeImageVersion",
+ "summary": "Upgrade node image version of an agent pool to the latest.",
+ "description": "Upgrade node image version of an agent pool to the latest.",
+ "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",
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Compute Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1023,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType",
+ "description": "AgentPoolType represents types of an agent pool"
+ },
+ "mode": {
+ "$ref": "#/definitions/AgentPoolMode",
+ "description": "AgentPoolMode represents mode of an agent pool"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Version of orchestrator specified when creating the managed cluster."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "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, which only appears in the response."
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "description": "Enable public IP for nodes"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "spotMaxPrice": {
+ "$ref": "#/definitions/SpotMaxPrice",
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ },
+ "proximityPlacementGroupID": {
+ "$ref": "#/definitions/ProximityPlacementGroupID",
+ "description": "The ID for Proximity Placement Group."
+ }
+ },
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true
+ },
+ "description": "AgentPoolType represents types of an agent pool."
+ },
+ "AgentPoolMode": {
+ "type": "string",
+ "enum": [
+ "System",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolMode",
+ "modelAsString": true
+ },
+ "description": "AgentPoolMode represents mode of an agent pool."
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPoolUpgradeSettings": {
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default"
+ }
+ },
+ "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": "The administrator username to use for Windows VMs.",
+ "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "The administrator password to use for Windows VMs.",
+ "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows_Server"
+ ],
+ "x-ms-enum": {
+ "name": "licenseType",
+ "modelAsString": true
+ },
+ "description": "The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User Benefits for Windows VMs."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true
+ },
+ "description": "Network mode used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true
+ },
+ "default": "loadBalancer",
+ "description": "The outbound (egress) routing method."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true
+ },
+ "description": "The load balancer sku for the managed cluster."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "maxAgentPools": {
+ "readOnly": true,
+ "type": "integer",
+ "format": "int32",
+ "description": "The max number of agent pools for the managed cluster."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(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": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string"
+ },
+ "scan-interval": {
+ "type": "string"
+ },
+ "scale-down-delay-after-add": {
+ "type": "string"
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string"
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string"
+ },
+ "scale-down-unneeded-time": {
+ "type": "string"
+ },
+ "scale-down-unready-time": {
+ "type": "string"
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string"
+ },
+ "max-graceful-termination-sec": {
+ "type": "string"
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "Access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Authorized IP Ranges to kubernetes API server."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "description": "Whether to create the cluster as a private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
+ "enum": [
+ "SystemAssigned",
+ "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 user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. 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 managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource id of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client id of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object id of the user assigned identity."
+ }
+ }
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "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": "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."
+ }
+ },
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "Properties of agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "LatestNodeImageVersion is 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": "Id of the agent pool available versions."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool available versions."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool available versions."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true
+ },
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true
+ },
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "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 of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of a managed cluster SKU.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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 for 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."
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json
new file mode 100644
index 000000000000..0465208ed255
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Ephemeral.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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",
+ "osDiskSizeGB": 64
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json
new file mode 100644
index 000000000000..fe3c6998bb0b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_PPG.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsCreate_Spot.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json
new file mode 100644
index 000000000000..1dd25b5f1cd6
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Spot.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json
new file mode 100644
index 000000000000..f72c274a469c
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsCreate_Update.json
@@ -0,0 +1,86 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json
new file mode 100644
index 000000000000..34e078b8ddc9
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json
new file mode 100644
index 000000000000..e2924bd00050
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
new file mode 100644
index 000000000000..0562b87ea10e
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetAgentPoolAvailableVersions.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/availableagentpoolversions",
+ "name": "default",
+ "properties": {
+ "agentPoolVersions": [
+ {
+ "kubernetesVersion": "1.12.7"
+ },
+ {
+ "kubernetesVersion": "1.12.8"
+ },
+ {
+ "default": true,
+ "kubernetesVersion": "1.13.5",
+ "isPreview": true
+ }
+ ]
+ },
+ "type": "Microsoft.ContainerService/managedClusters/availableAgentpoolVersions"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json
new file mode 100644
index 000000000000..23544c4c5b16
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsGetUpgradeProfile.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json
new file mode 100644
index 000000000000..09ec35dd854d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json
new file mode 100644
index 000000000000..d1d4d87e5881
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPoolsUpgradeNodeImageVersion.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "agentPoolName": "agentpool1"
+ },
+ "responses": {
+ "200": {},
+ "202": {
+ "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/2020-09-01/examples/AgentPools_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json
new file mode 100644
index 000000000000..9c0ee3ef6a60
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/AgentPools_Update.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/ManagedClustersCreate_PPG.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json
new file mode 100644
index 000000000000..52cbf09263a2
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_PPG.json
@@ -0,0 +1,236 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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",
+ "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",
+ "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/2020-09-01/examples/ManagedClustersCreate_Update.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json
new file mode 100644
index 000000000000..2154502d0c28
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_Update.json
@@ -0,0 +1,280 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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": {
+ "balance-similar-node-groups": "true",
+ "expander": "most-pods",
+ "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",
+ "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",
+ "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": "most-pods",
+ "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",
+ "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",
+ "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/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
new file mode 100644
index 000000000000..22500c964240
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithAHUB.json
@@ -0,0 +1,275 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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",
+ "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",
+ "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/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
new file mode 100644
index 000000000000..e88ec3b727e7
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json
@@ -0,0 +1,264 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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",
+ "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",
+ "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/2020-09-01/examples/ManagedClustersDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json
new file mode 100644
index 000000000000..12a0dd0e4a25
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json
new file mode 100644
index 000000000000..74d4a76054ad
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGet.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "maxAgentPools": 1,
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6",
+ "availabilityZones": [
+ "1",
+ "2",
+ "3"
+ ],
+ "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",
+ "loadBalancerProfile": {
+ "allocatedOutboundPorts": 2000,
+ "idleTimeoutInMinutes": 10,
+ "outboundIPs": {
+ "publicIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Network/publicIPAddresses/customeroutboundip2"
+ }
+ ]
+ },
+ "effectiveOutboundIPs": [
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip1"
+ },
+ {
+ "id": "/subscriptions/subid1/resourceGroups/MC_rg1/providers/Microsoft.Network/publicIPAddresses/mgdoutboundip2"
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json
new file mode 100644
index 000000000000..e8fb8bd9c65b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetAccessProfile.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "roleName": "clusterUser"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/accessProfiles/clusterUser",
+ "location": "location1",
+ "name": "clusterUser",
+ "properties": {
+ "kubeConfig": "kubeConfig1"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters/AccessProfiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json
new file mode 100644
index 000000000000..96bc1df11315
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersGetUpgradeProfile.json
@@ -0,0 +1,49 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1/upgradeprofiles/default",
+ "name": "default",
+ "properties": {
+ "agentPoolProfiles": [
+ {
+ "kubernetesVersion": "1.7.7",
+ "name": "agent",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9"
+ },
+ {
+ "kubernetesVersion": "1.7.11",
+ "isPreview": true
+ }
+ ]
+ }
+ ],
+ "controlPlaneProfile": {
+ "kubernetesVersion": "1.7.7",
+ "name": "master",
+ "osType": "Linux",
+ "upgrades": [
+ {
+ "kubernetesVersion": "1.7.9",
+ "isPreview": true
+ },
+ {
+ "kubernetesVersion": "1.7.11"
+ }
+ ]
+ }
+ },
+ "type": "Microsoft.ContainerService/managedClusters/upgradeprofiles"
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json
new file mode 100644
index 000000000000..e89e09461ba0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersList.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json
new file mode 100644
index 000000000000..d4337b7e4d4b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListByResourceGroup.json
@@ -0,0 +1,66 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv2": "",
+ "tier": "production"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "maxAgentPools": 1,
+ "dnsPrefix": "dnsprefix1",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json
new file mode 100644
index 000000000000..106b9437fe9b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersListClusterCredentialResult.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kubeconfigs": [
+ {
+ "name": "credentialName1",
+ "value": "credentialValue1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json
new file mode 100644
index 000000000000..f655e65a95cf
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetAADProfile.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientAppID": "clientappid",
+ "serverAppID": "serverappid",
+ "serverAppSecret": "serverappsecret",
+ "tenantID": "tenantid"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json
new file mode 100644
index 000000000000..5849ddf284ae
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersResetServicePrincipalProfile.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "clientId": "clientid",
+ "secret": "secret"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json
new file mode 100644
index 000000000000..12a0dd0e4a25
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersRotateClusterCertificates.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json
new file mode 100644
index 000000000000..12a0dd0e4a25
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStart.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json
new file mode 100644
index 000000000000..12a0dd0e4a25
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersStop.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json
new file mode 100644
index 000000000000..12b1a2395edb
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ManagedClustersUpdateTags.json
@@ -0,0 +1,68 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "parameters": {
+ "tags": {
+ "tier": "testing",
+ "archv3": ""
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid1/resourcegroups/rg1/providers/Microsoft.ContainerService/managedClusters/clustername1",
+ "location": "location1",
+ "name": "clustername1",
+ "tags": {
+ "archv3": "",
+ "tier": "testing"
+ },
+ "type": "Microsoft.ContainerService/ManagedClusters",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "kubernetesVersion": "1.9.6",
+ "dnsPrefix": "dnsprefix1",
+ "agentPoolProfiles": [
+ {
+ "name": "nodepool1",
+ "count": 3,
+ "vmSize": "Standard_DS1_v2",
+ "maxPods": 110,
+ "osType": "Linux",
+ "provisioningState": "Succeeded",
+ "orchestratorVersion": "1.9.6"
+ }
+ ],
+ "linuxProfile": {
+ "adminUsername": "azureuser",
+ "ssh": {
+ "publicKeys": [
+ {
+ "keyData": "keydata"
+ }
+ ]
+ }
+ },
+ "servicePrincipalProfile": {
+ "clientId": "clientid"
+ },
+ "nodeResourceGroup": "MC_rg1_clustername1_location1",
+ "enableRBAC": false,
+ "diskEncryptionSetID": "/subscriptions/subid1/resourceGroups/rg1/providers/Microsoft.Compute/diskEncryptionSets/des",
+ "fqdn": "dnsprefix1-abcd1234.hcp.eastus.azmk8s.io",
+ "networkProfile": {
+ "networkPlugin": "kubenet",
+ "podCidr": "10.244.0.0/16",
+ "serviceCidr": "10.0.0.0/16",
+ "dnsServiceIP": "10.0.0.10",
+ "dockerBridgeCidr": "172.17.0.1/16"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json
new file mode 100644
index 000000000000..cb4dad284f12
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01",
+ "subscriptionId": "subid1",
+ "resourceGroupName": "rg1",
+ "resourceName": "clustername1",
+ "privateEndpointConnectionName": "privateendpointconnection1"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json
new file mode 100644
index 000000000000..9d4e3a35d790
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsGet.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/PrivateEndpointConnectionsList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json
new file mode 100644
index 000000000000..737edc566ede
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsList.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json
new file mode 100644
index 000000000000..7a4bb726214b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateEndpointConnectionsUpdate.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/PrivateLinkResourcesList.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json
new file mode 100644
index 000000000000..44f51606e06d
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/PrivateLinkResourcesList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/examples/ResolvePrivateLinkServiceId.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json
new file mode 100644
index 000000000000..c37322caf4b0
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/examples/ResolvePrivateLinkServiceId.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-09-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/2020-09-01/managedClusters.json b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
new file mode 100644
index 000000000000..3ef7b8c1035b
--- /dev/null
+++ b/specification/containerservice/resource-manager/Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
@@ -0,0 +1,3337 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "ContainerServiceClient",
+ "description": "The Container Service Client.",
+ "version": "2020-09-01"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.ContainerService/operations": {
+ "get": {
+ "tags": [
+ "managedClusters"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_List",
+ "summary": "Gets a list of managed clusters in the specified subscription.",
+ "description": "Gets a list of managed clusters in the specified subscription. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Managed Clusters": {
+ "$ref": "./examples/ManagedClustersList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListByResourceGroup",
+ "summary": "Lists managed clusters in the specified subscription and resource group.",
+ "description": "Lists managed clusters in the specified subscription and resource group. The operation returns properties of each managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Get Managed Clusters by Resource Group": {
+ "$ref": "./examples/ManagedClustersListByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for a managed cluster.",
+ "description": "Gets the details of the upgrade profile for a managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/accessProfiles/{roleName}/listCredential": {
+ "post": {
+ "deprecated": true,
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_GetAccessProfile",
+ "summary": "Gets an access profile of a managed cluster.",
+ "description": "Gets the accessProfile for the specified role name of the managed cluster with a specified resource group and name. **WARNING**: This API will be deprecated. Instead use [ListClusterUserCredentials](https://docs.microsoft.com/en-us/rest/api/aks/managedclusters/listclusterusercredentials) or [ListClusterAdminCredentials](https://docs.microsoft.com/en-us/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": "Gets cluster admin credential of a managed cluster.",
+ "description": "Gets cluster admin credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterUserCredentials",
+ "summary": "Gets cluster user credential of a managed cluster.",
+ "description": "Gets cluster user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/listClusterMonitoringUserCredential": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ListClusterMonitoringUserCredentials",
+ "summary": "Gets cluster monitoring user credential of a managed cluster.",
+ "description": "Gets cluster monitoring user credential of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CredentialResults"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersListClusterCredentialResult.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}": {
+ "get": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Get",
+ "summary": "Gets a managed cluster.",
+ "description": "Gets the details of the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Managed Cluster": {
+ "$ref": "./examples/ManagedClustersGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_CreateOrUpdate",
+ "summary": "Creates or updates a managed cluster.",
+ "description": "Creates or updates a managed cluster with the specified configuration for agents and Kubernetes version.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "Parameters supplied to the Create or Update a Managed Cluster operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Managed Cluster": {
+ "$ref": "./examples/ManagedClustersCreate_Update.json"
+ },
+ "Create/Update AAD Managed Cluster with EnableAzureRBAC": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithEnableAzureRBAC.json"
+ },
+ "Create Managed Cluster with PPG": {
+ "$ref": "./examples/ManagedClustersCreate_PPG.json"
+ },
+ "Create/Update Managed Cluster with EnableAHUB": {
+ "$ref": "./examples/ManagedClustersCreate_UpdateWithAHUB.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_UpdateTags",
+ "summary": "Updates tags on a managed cluster.",
+ "description": "Updates a managed cluster with the specified tags.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to the Update Managed Cluster Tags operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/ManagedCluster"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Managed Cluster Tags": {
+ "$ref": "./examples/ManagedClustersUpdateTags.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Delete",
+ "summary": "Deletes a managed cluster.",
+ "description": "Deletes the managed cluster with a specified resource group and name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Managed Cluster": {
+ "$ref": "./examples/ManagedClustersDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_List",
+ "summary": "Gets a list of agent pools in the specified managed cluster.",
+ "description": "Gets a list of agent pools in the specified managed cluster. The operation returns properties of each agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "List Agent Pools by Managed Cluster": {
+ "$ref": "./examples/AgentPoolsList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Get",
+ "summary": "Gets the agent pool.",
+ "description": "Gets the details of the agent pool by managed cluster and resource group.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Agent Pool": {
+ "$ref": "./examples/AgentPoolsGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_CreateOrUpdate",
+ "summary": "Creates or updates an agent pool.",
+ "description": "Creates or updates an agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "Parameters supplied to the Create or Update an agent pool operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "201": {
+ "description": "Created",
+ "schema": {
+ "$ref": "#/definitions/AgentPool"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create/Update Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Update.json"
+ },
+ "Update Agent Pool": {
+ "$ref": "./examples/AgentPools_Update.json"
+ },
+ "Create Spot Agent Pool": {
+ "$ref": "./examples/AgentPoolsCreate_Spot.json"
+ },
+ "Create Agent Pool with PPG": {
+ "$ref": "./examples/AgentPoolsCreate_PPG.json"
+ },
+ "Create Agent Pool with Ephemeral OS Disk": {
+ "$ref": "./examples/AgentPoolsCreate_Ephemeral.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_Delete",
+ "summary": "Deletes an agent pool.",
+ "description": "Deletes the agent pool in the specified managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete Agent Pool": {
+ "$ref": "./examples/AgentPoolsDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/agentPools/{agentPoolName}/upgradeProfiles/default": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetUpgradeProfile",
+ "summary": "Gets upgrade profile for an agent pool.",
+ "description": "Gets the details of the upgrade profile for an agent pool with a specified resource group and managed cluster name.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "agentPoolName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the agent pool."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfile"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Upgrade Profile for Agent Pool": {
+ "$ref": "./examples/AgentPoolsGetUpgradeProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/availableAgentPoolVersions": {
+ "get": {
+ "tags": [
+ "AgentPools"
+ ],
+ "operationId": "AgentPools_GetAvailableAgentPoolVersions",
+ "summary": "Gets a list of supported versions for the specified agent pool.",
+ "description": "Gets a list of supported versions for the specified agent pool.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/AgentPoolAvailableVersions"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get available versions for agent pool": {
+ "$ref": "./examples/AgentPoolsGetAgentPoolAvailableVersions.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetServicePrincipalProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetServicePrincipalProfile",
+ "summary": "Reset Service Principal Profile of a managed cluster.",
+ "description": "Update the service principal Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile"
+ },
+ "description": "Parameters supplied to the Reset Service Principal Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset Service Principal Profile": {
+ "$ref": "./examples/ManagedClustersResetServicePrincipalProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/resetAADProfile": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_ResetAADProfile",
+ "summary": "Reset AAD Profile of a managed cluster.",
+ "description": "Update the AAD Profile for a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedClusterAADProfile"
+ },
+ "description": "Parameters supplied to the Reset AAD Profile operation for a Managed Cluster."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Reset AAD Profile": {
+ "$ref": "./examples/ManagedClustersResetAADProfile.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/rotateClusterCertificates": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_RotateClusterCertificates",
+ "summary": "Rotate certificates of a managed cluster.",
+ "description": "Rotate certificates of a managed cluster.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Rotate Cluster Certificates": {
+ "$ref": "./examples/ManagedClustersRotateClusterCertificates.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/stop": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Stop",
+ "summary": "Stop Managed Cluster",
+ "description": "Stops a Running Managed Cluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Stop Managed Cluster": {
+ "$ref": "./examples/ManagedClustersStop.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ContainerService/managedClusters/{resourceName}/start": {
+ "post": {
+ "tags": [
+ "ManagedClusters"
+ ],
+ "operationId": "ManagedClusters_Start",
+ "summary": "Start Managed Cluster",
+ "description": "Starts a Stopped Managed Cluster",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceNameParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "NoContent"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed. If the cluster doesn't exist, 404 (Not found) is returned.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "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": "Gets a list of private endpoint connections in the specified managed cluster. The operation returns properties of each private endpoint connection.",
+ "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 private endpoint connection.",
+ "description": "Gets the details of the private endpoint connection by managed cluster and resource group.",
+ "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.",
+ "description": "Updates a private endpoint connection in the specified managed cluster.",
+ "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": "Parameters supplied to the Update a private endpoint connection operation."
+ }
+ ],
+ "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.",
+ "description": "Deletes the private endpoint connection in the specified managed cluster.",
+ "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": "ManagedClusters_UpgradeNodeImageVersion",
+ "summary": "Upgrade node image version of an agent pool to the latest.",
+ "description": "Upgrade node image version of an agent pool to the latest.",
+ "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",
+ "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": "Gets a list of private link resources in the specified managed cluster. The operation returns properties of each private link resource.",
+ "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.",
+ "description": "Gets the private link service ID 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 (name, groupId) supplied 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"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OperationValueDisplay",
+ "description": "Describes the properties of a Compute Operation Value Display."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Compute Operation Value Display."
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The name of the resource that is unique within a resource group. This name can be used to access the resource."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ }
+ },
+ "description": "Reference to another subresource.",
+ "x-ms-azure-resource": true
+ },
+ "TagsObject": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "ContainerServiceOSDisk": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 1023,
+ "minimum": 0,
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "ContainerServiceStorageProfile": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceStorageProfileTypes",
+ "modelAsString": true
+ },
+ "enum": [
+ "StorageAccount",
+ "ManagedDisks"
+ ],
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "ContainerServiceVnetSubnetID": {
+ "type": "string",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "ContainerServiceVMSize": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ContainerServiceVMSizeTypes",
+ "modelAsString": true
+ },
+ "description": "Size of agent VMs.",
+ "enum": [
+ "Standard_A1",
+ "Standard_A10",
+ "Standard_A11",
+ "Standard_A1_v2",
+ "Standard_A2",
+ "Standard_A2_v2",
+ "Standard_A2m_v2",
+ "Standard_A3",
+ "Standard_A4",
+ "Standard_A4_v2",
+ "Standard_A4m_v2",
+ "Standard_A5",
+ "Standard_A6",
+ "Standard_A7",
+ "Standard_A8",
+ "Standard_A8_v2",
+ "Standard_A8m_v2",
+ "Standard_A9",
+ "Standard_B2ms",
+ "Standard_B2s",
+ "Standard_B4ms",
+ "Standard_B8ms",
+ "Standard_D1",
+ "Standard_D11",
+ "Standard_D11_v2",
+ "Standard_D11_v2_Promo",
+ "Standard_D12",
+ "Standard_D12_v2",
+ "Standard_D12_v2_Promo",
+ "Standard_D13",
+ "Standard_D13_v2",
+ "Standard_D13_v2_Promo",
+ "Standard_D14",
+ "Standard_D14_v2",
+ "Standard_D14_v2_Promo",
+ "Standard_D15_v2",
+ "Standard_D16_v3",
+ "Standard_D16s_v3",
+ "Standard_D1_v2",
+ "Standard_D2",
+ "Standard_D2_v2",
+ "Standard_D2_v2_Promo",
+ "Standard_D2_v3",
+ "Standard_D2s_v3",
+ "Standard_D3",
+ "Standard_D32_v3",
+ "Standard_D32s_v3",
+ "Standard_D3_v2",
+ "Standard_D3_v2_Promo",
+ "Standard_D4",
+ "Standard_D4_v2",
+ "Standard_D4_v2_Promo",
+ "Standard_D4_v3",
+ "Standard_D4s_v3",
+ "Standard_D5_v2",
+ "Standard_D5_v2_Promo",
+ "Standard_D64_v3",
+ "Standard_D64s_v3",
+ "Standard_D8_v3",
+ "Standard_D8s_v3",
+ "Standard_DS1",
+ "Standard_DS11",
+ "Standard_DS11_v2",
+ "Standard_DS11_v2_Promo",
+ "Standard_DS12",
+ "Standard_DS12_v2",
+ "Standard_DS12_v2_Promo",
+ "Standard_DS13",
+ "Standard_DS13-2_v2",
+ "Standard_DS13-4_v2",
+ "Standard_DS13_v2",
+ "Standard_DS13_v2_Promo",
+ "Standard_DS14",
+ "Standard_DS14-4_v2",
+ "Standard_DS14-8_v2",
+ "Standard_DS14_v2",
+ "Standard_DS14_v2_Promo",
+ "Standard_DS15_v2",
+ "Standard_DS1_v2",
+ "Standard_DS2",
+ "Standard_DS2_v2",
+ "Standard_DS2_v2_Promo",
+ "Standard_DS3",
+ "Standard_DS3_v2",
+ "Standard_DS3_v2_Promo",
+ "Standard_DS4",
+ "Standard_DS4_v2",
+ "Standard_DS4_v2_Promo",
+ "Standard_DS5_v2",
+ "Standard_DS5_v2_Promo",
+ "Standard_E16_v3",
+ "Standard_E16s_v3",
+ "Standard_E2_v3",
+ "Standard_E2s_v3",
+ "Standard_E32-16s_v3",
+ "Standard_E32-8s_v3",
+ "Standard_E32_v3",
+ "Standard_E32s_v3",
+ "Standard_E4_v3",
+ "Standard_E4s_v3",
+ "Standard_E64-16s_v3",
+ "Standard_E64-32s_v3",
+ "Standard_E64_v3",
+ "Standard_E64s_v3",
+ "Standard_E8_v3",
+ "Standard_E8s_v3",
+ "Standard_F1",
+ "Standard_F16",
+ "Standard_F16s",
+ "Standard_F16s_v2",
+ "Standard_F1s",
+ "Standard_F2",
+ "Standard_F2s",
+ "Standard_F2s_v2",
+ "Standard_F32s_v2",
+ "Standard_F4",
+ "Standard_F4s",
+ "Standard_F4s_v2",
+ "Standard_F64s_v2",
+ "Standard_F72s_v2",
+ "Standard_F8",
+ "Standard_F8s",
+ "Standard_F8s_v2",
+ "Standard_G1",
+ "Standard_G2",
+ "Standard_G3",
+ "Standard_G4",
+ "Standard_G5",
+ "Standard_GS1",
+ "Standard_GS2",
+ "Standard_GS3",
+ "Standard_GS4",
+ "Standard_GS4-4",
+ "Standard_GS4-8",
+ "Standard_GS5",
+ "Standard_GS5-16",
+ "Standard_GS5-8",
+ "Standard_H16",
+ "Standard_H16m",
+ "Standard_H16mr",
+ "Standard_H16r",
+ "Standard_H8",
+ "Standard_H8m",
+ "Standard_L16s",
+ "Standard_L32s",
+ "Standard_L4s",
+ "Standard_L8s",
+ "Standard_M128-32ms",
+ "Standard_M128-64ms",
+ "Standard_M128ms",
+ "Standard_M128s",
+ "Standard_M64-16ms",
+ "Standard_M64-32ms",
+ "Standard_M64ms",
+ "Standard_M64s",
+ "Standard_NC12",
+ "Standard_NC12s_v2",
+ "Standard_NC12s_v3",
+ "Standard_NC24",
+ "Standard_NC24r",
+ "Standard_NC24rs_v2",
+ "Standard_NC24rs_v3",
+ "Standard_NC24s_v2",
+ "Standard_NC24s_v3",
+ "Standard_NC6",
+ "Standard_NC6s_v2",
+ "Standard_NC6s_v3",
+ "Standard_ND12s",
+ "Standard_ND24rs",
+ "Standard_ND24s",
+ "Standard_ND6s",
+ "Standard_NV12",
+ "Standard_NV24",
+ "Standard_NV6"
+ ]
+ },
+ "ManagedClusterServicePrincipalProfile": {
+ "properties": {
+ "clientId": {
+ "type": "string",
+ "description": "The ID for the service principal."
+ },
+ "secret": {
+ "type": "string",
+ "description": "The secret password associated with the service principal in plain text."
+ }
+ },
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs.",
+ "required": [
+ "clientId"
+ ]
+ },
+ "ContainerServiceMasterProfile": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "enum": [
+ 1,
+ 3,
+ 5
+ ],
+ "x-ms-enum": {
+ "name": "Count",
+ "modelAsString": false
+ },
+ "description": "Number of masters (VMs) in the container service cluster. Allowed values are 1, 3, and 5. The default value is 1.",
+ "default": 1
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix to be used to create the FQDN for the master pool."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "firstConsecutiveStaticIP": {
+ "type": "string",
+ "description": "FirstConsecutiveStaticIP used to specify the first static ip of masters.",
+ "default": "10.240.255.5"
+ },
+ "storageProfile": {
+ "$ref": "#/definitions/ContainerServiceStorageProfile",
+ "description": "Storage profile specifies what kind of storage used. Choose from StorageAccount and ManagedDisks. Leave it empty, we will choose for you based on the orchestrator choice."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ }
+ },
+ "required": [
+ "dnsPrefix",
+ "vmSize"
+ ],
+ "description": "Profile for the container service master."
+ },
+ "ManagedClusterAgentPoolProfileProperties": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Number of agents (VMs) to host docker containers. Allowed values must be in the range of 0 to 100 (inclusive) for user pools and in the range of 1 to 100 (inclusive) for system pools. The default value is 1."
+ },
+ "vmSize": {
+ "$ref": "#/definitions/ContainerServiceVMSize",
+ "description": "Size of agent VMs."
+ },
+ "osDiskSizeGB": {
+ "$ref": "#/definitions/ContainerServiceOSDisk",
+ "description": "OS Disk Size in GB to be used to specify the disk size for every machine in this master/agent pool. If you specify 0, it will apply the default osDisk size according to the vmSize specified."
+ },
+ "osDiskType": {
+ "$ref": "#/definitions/OSDiskType",
+ "description": "OS disk type to be used for machines in a given agent pool. Allowed values are 'Ephemeral' and 'Managed'. Defaults to 'Managed'. May not be changed after creation."
+ },
+ "vnetSubnetID": {
+ "$ref": "#/definitions/ContainerServiceVnetSubnetID",
+ "description": "VNet SubnetID specifies the VNet's subnet identifier."
+ },
+ "maxPods": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of pods that can run on a node."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "maxCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Maximum number of nodes for auto-scaling"
+ },
+ "minCount": {
+ "type": "integer",
+ "format": "int32",
+ "description": "Minimum number of nodes for auto-scaling"
+ },
+ "enableAutoScaling": {
+ "type": "boolean",
+ "description": "Whether to enable auto-scaler"
+ },
+ "type": {
+ "$ref": "#/definitions/AgentPoolType",
+ "description": "AgentPoolType represents types of an agent pool"
+ },
+ "mode": {
+ "$ref": "#/definitions/AgentPoolMode",
+ "description": "AgentPoolMode represents mode of an agent pool"
+ },
+ "orchestratorVersion": {
+ "type": "string",
+ "description": "Version of orchestrator specified when creating the managed cluster."
+ },
+ "nodeImageVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "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, which only appears in the response."
+ },
+ "powerState": {
+ "readOnly": true,
+ "description": "Describes whether the Agent Pool is Running or Stopped",
+ "$ref": "#/definitions/PowerState"
+ },
+ "availabilityZones": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Availability zones for nodes. Must use VirtualMachineScaleSets AgentPoolType."
+ },
+ "enableNodePublicIP": {
+ "type": "boolean",
+ "description": "Enable public IP for nodes"
+ },
+ "scaleSetPriority": {
+ "$ref": "#/definitions/ScaleSetPriority",
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "scaleSetEvictionPolicy": {
+ "$ref": "#/definitions/ScaleSetEvictionPolicy",
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "spotMaxPrice": {
+ "$ref": "#/definitions/SpotMaxPrice",
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool tags to be persisted on the agent pool virtual machine scale set."
+ },
+ "nodeLabels": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Agent pool node labels to be persisted across all nodes in agent pool."
+ },
+ "nodeTaints": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Taints added to new nodes during node pool create and scale. For example, key=value:NoSchedule."
+ },
+ "proximityPlacementGroupID": {
+ "$ref": "#/definitions/ProximityPlacementGroupID",
+ "description": "The ID for Proximity Placement Group."
+ }
+ },
+ "description": "Properties for the container service agent pool profile."
+ },
+ "ManagedClusterAgentPoolProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfileProperties"
+ },
+ {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Unique name of the agent pool profile in the context of the subscription and resource group.",
+ "pattern": "^[a-z][a-z0-9]{0,11}$"
+ }
+ }
+ }
+ ],
+ "required": [
+ "name"
+ ],
+ "description": "Profile for the container service agent pool."
+ },
+ "AgentPoolType": {
+ "type": "string",
+ "enum": [
+ "VirtualMachineScaleSets",
+ "AvailabilitySet"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolType",
+ "modelAsString": true
+ },
+ "description": "AgentPoolType represents types of an agent pool."
+ },
+ "AgentPoolMode": {
+ "type": "string",
+ "enum": [
+ "System",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "AgentPoolMode",
+ "modelAsString": true
+ },
+ "description": "AgentPoolMode represents mode of an agent pool."
+ },
+ "AgentPoolListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AgentPool"
+ },
+ "description": "The list of agent pools."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of agent pool results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Agent Pools operation."
+ },
+ "AgentPoolUpgradeSettings": {
+ "properties": {
+ "maxSurge": {
+ "type": "string",
+ "description": "Count or percentage of additional nodes to be added during upgrade. If empty uses AKS default"
+ }
+ },
+ "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": "The administrator username to use for Windows VMs.",
+ "pattern": "^[a-zA-Z0-9]+([._]?[a-zA-Z0-9]+)*$"
+ },
+ "adminPassword": {
+ "type": "string",
+ "description": "The administrator password to use for Windows VMs.",
+ "pattern": "^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%\\^&\\*\\(\\)])[a-zA-Z\\d!@#$%\\^&\\*\\(\\)]{12,123}$"
+ },
+ "licenseType": {
+ "type": "string",
+ "enum": [
+ "None",
+ "Windows_Server"
+ ],
+ "x-ms-enum": {
+ "name": "licenseType",
+ "modelAsString": true
+ },
+ "description": "The licenseType to use for Windows VMs. Windows_Server is used to enable Azure Hybrid User Benefits for Windows VMs."
+ }
+ },
+ "required": [
+ "adminUsername"
+ ],
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "ContainerServiceLinuxProfile": {
+ "properties": {
+ "adminUsername": {
+ "type": "string",
+ "description": "The administrator username to use for Linux VMs.",
+ "pattern": "^[A-Za-z][-A-Za-z0-9_]*$"
+ },
+ "ssh": {
+ "$ref": "#/definitions/ContainerServiceSshConfiguration",
+ "description": "SSH configuration for Linux-based VMs running on Azure."
+ }
+ },
+ "required": [
+ "adminUsername",
+ "ssh"
+ ],
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "ContainerServiceNetworkProfile": {
+ "properties": {
+ "networkPlugin": {
+ "type": "string",
+ "enum": [
+ "azure",
+ "kubenet"
+ ],
+ "default": "kubenet",
+ "x-ms-enum": {
+ "name": "NetworkPlugin",
+ "modelAsString": true
+ },
+ "description": "Network plugin used for building Kubernetes network."
+ },
+ "networkPolicy": {
+ "type": "string",
+ "enum": [
+ "calico",
+ "azure"
+ ],
+ "x-ms-enum": {
+ "name": "NetworkPolicy",
+ "modelAsString": true
+ },
+ "description": "Network policy used for building Kubernetes network."
+ },
+ "networkMode": {
+ "type": "string",
+ "enum": [
+ "transparent",
+ "bridge"
+ ],
+ "x-ms-enum": {
+ "name": "networkMode",
+ "modelAsString": true
+ },
+ "description": "Network mode used for building Kubernetes network."
+ },
+ "podCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.244.0.0/16",
+ "description": "A CIDR notation IP range from which to assign pod IPs when kubenet is used."
+ },
+ "serviceCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "10.0.0.0/16",
+ "description": "A CIDR notation IP range from which to assign service cluster IPs. It must not overlap with any Subnet IP ranges."
+ },
+ "dnsServiceIP": {
+ "type": "string",
+ "pattern": "^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$",
+ "default": "10.0.0.10",
+ "description": "An IP address assigned to the Kubernetes DNS service. It must be within the Kubernetes service address range specified in serviceCidr."
+ },
+ "dockerBridgeCidr": {
+ "type": "string",
+ "pattern": "^([0-9]{1,3}\\.){3}[0-9]{1,3}(\\/([0-9]|[1-2][0-9]|3[0-2]))?$",
+ "default": "172.17.0.1/16",
+ "description": "A CIDR notation IP range assigned to the Docker bridge network. It must not overlap with any Subnet IP ranges or the Kubernetes service address range."
+ },
+ "outboundType": {
+ "type": "string",
+ "enum": [
+ "loadBalancer",
+ "userDefinedRouting"
+ ],
+ "x-ms-enum": {
+ "name": "outboundType",
+ "modelAsString": true
+ },
+ "default": "loadBalancer",
+ "description": "The outbound (egress) routing method."
+ },
+ "loadBalancerSku": {
+ "type": "string",
+ "enum": [
+ "standard",
+ "basic"
+ ],
+ "x-ms-enum": {
+ "name": "loadBalancerSku",
+ "modelAsString": true
+ },
+ "description": "The load balancer sku for the managed cluster."
+ },
+ "loadBalancerProfile": {
+ "$ref": "#/definitions/ManagedClusterLoadBalancerProfile",
+ "description": "Profile of the cluster load balancer."
+ }
+ },
+ "description": "Profile of network configuration."
+ },
+ "ManagedClusterLoadBalancerProfile": {
+ "properties": {
+ "managedOutboundIPs": {
+ "properties": {
+ "count": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 100,
+ "minimum": 1,
+ "description": "Desired number of outbound IP created/managed by Azure for the cluster load balancer. Allowed values must be in the range of 1 to 100 (inclusive). The default value is 1. ",
+ "default": 1
+ }
+ },
+ "description": "Desired managed outbound IPs for the cluster load balancer."
+ },
+ "outboundIPPrefixes": {
+ "properties": {
+ "publicIPPrefixes": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP prefix resources."
+ }
+ },
+ "description": "Desired outbound IP Prefix resources for the cluster load balancer."
+ },
+ "outboundIPs": {
+ "properties": {
+ "publicIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "A list of public IP resources."
+ }
+ },
+ "description": "Desired outbound IP resources for the cluster load balancer."
+ },
+ "effectiveOutboundIPs": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceReference"
+ },
+ "description": "The effective outbound IP resources of the cluster load balancer."
+ },
+ "allocatedOutboundPorts": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 64000,
+ "minimum": 0,
+ "description": "Desired number of allocated SNAT ports per VM. Allowed values must be in the range of 0 to 64000 (inclusive). The default value is 0 which results in Azure dynamically allocating ports.",
+ "default": 0
+ },
+ "idleTimeoutInMinutes": {
+ "type": "integer",
+ "format": "int32",
+ "maximum": 120,
+ "minimum": 4,
+ "description": "Desired outbound flow idle timeout in minutes. Allowed values must be in the range of 4 to 120 (inclusive). The default value is 30 minutes.",
+ "default": 30
+ }
+ },
+ "description": "Profile of the managed cluster load balancer."
+ },
+ "ResourceReference": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "The fully qualified Azure resource id."
+ }
+ },
+ "description": "A reference to an Azure resource."
+ },
+ "ContainerServiceSshConfiguration": {
+ "properties": {
+ "publicKeys": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerServiceSshPublicKey"
+ },
+ "description": "The list of SSH public keys used to authenticate with Linux-based VMs. Only expect one key specified."
+ }
+ },
+ "description": "SSH configuration for Linux-based VMs running on Azure.",
+ "required": [
+ "publicKeys"
+ ]
+ },
+ "ContainerServiceSshPublicKey": {
+ "properties": {
+ "keyData": {
+ "type": "string",
+ "description": "Certificate public key used to authenticate with VMs through SSH. The certificate must be in PEM format with or without headers."
+ }
+ },
+ "required": [
+ "keyData"
+ ],
+ "description": "Contains information about SSH certificate public key data."
+ },
+ "ContainerServiceDiagnosticsProfile": {
+ "properties": {
+ "vmDiagnostics": {
+ "$ref": "#/definitions/ContainerServiceVMDiagnostics",
+ "description": "Profile for diagnostics on the container service VMs."
+ }
+ },
+ "description": "Profile for diagnostics on the container service cluster.",
+ "required": [
+ "vmDiagnostics"
+ ]
+ },
+ "ContainerServiceVMDiagnostics": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the VM diagnostic agent is provisioned on the VM."
+ },
+ "storageUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The URI of the storage account where diagnostics are stored."
+ }
+ },
+ "description": "Profile for diagnostics on the container service VMs.",
+ "required": [
+ "enabled"
+ ]
+ },
+ "ManagedClusterListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedCluster"
+ },
+ "description": "The list of managed clusters."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URL to get the next set of managed cluster results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List Managed Clusters operation."
+ },
+ "ManagedCluster": {
+ "properties": {
+ "sku": {
+ "$ref": "#/definitions/ManagedClusterSKU",
+ "description": "The managed cluster SKU."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "Properties of a managed cluster.",
+ "$ref": "#/definitions/ManagedClusterProperties",
+ "x-ms-client-flatten": true
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedClusterIdentity",
+ "description": "The identity of the managed cluster, if configured."
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster."
+ },
+ "ManagedClusterProperties": {
+ "properties": {
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ },
+ "powerState": {
+ "$ref": "#/definitions/PowerState",
+ "description": "Represents 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",
+ "description": "Version of Kubernetes specified when creating the managed cluster."
+ },
+ "dnsPrefix": {
+ "type": "string",
+ "description": "DNS prefix specified when creating the managed cluster."
+ },
+ "fqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN for the master pool."
+ },
+ "privateFQDN": {
+ "readOnly": true,
+ "type": "string",
+ "description": "FQDN of private cluster."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterAgentPoolProfile"
+ },
+ "description": "Properties of the agent pool."
+ },
+ "linuxProfile": {
+ "$ref": "#/definitions/ContainerServiceLinuxProfile",
+ "description": "Profile for Linux VMs in the container service cluster."
+ },
+ "windowsProfile": {
+ "$ref": "#/definitions/ManagedClusterWindowsProfile",
+ "description": "Profile for Windows VMs in the container service cluster."
+ },
+ "servicePrincipalProfile": {
+ "$ref": "#/definitions/ManagedClusterServicePrincipalProfile",
+ "description": "Information about a service principal identity for the cluster to use for manipulating Azure APIs."
+ },
+ "addonProfiles": {
+ "additionalProperties": {
+ "$ref": "#/definitions/ManagedClusterAddonProfile"
+ },
+ "description": "Profile of managed cluster add-on."
+ },
+ "nodeResourceGroup": {
+ "type": "string",
+ "description": "Name of the resource group containing agent pool nodes."
+ },
+ "enableRBAC": {
+ "type": "boolean",
+ "description": "Whether to enable Kubernetes Role-Based Access Control."
+ },
+ "enablePodSecurityPolicy": {
+ "type": "boolean",
+ "description": "(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": "Profile of network configuration."
+ },
+ "aadProfile": {
+ "$ref": "#/definitions/ManagedClusterAADProfile",
+ "description": "Profile of Azure Active Directory configuration."
+ },
+ "autoScalerProfile": {
+ "type": "object",
+ "properties": {
+ "balance-similar-node-groups": {
+ "type": "string"
+ },
+ "expander": {
+ "type": "string",
+ "enum": [
+ "least-waste",
+ "most-pods",
+ "random"
+ ],
+ "x-ms-enum": {
+ "name": "expander",
+ "modelAsString": true
+ }
+ },
+ "max-empty-bulk-delete": {
+ "type": "string"
+ },
+ "max-graceful-termination-sec": {
+ "type": "string"
+ },
+ "max-total-unready-percentage": {
+ "type": "string"
+ },
+ "new-pod-scale-up-delay": {
+ "type": "string"
+ },
+ "ok-total-unready-count": {
+ "type": "string"
+ },
+ "scan-interval": {
+ "type": "string"
+ },
+ "scale-down-delay-after-add": {
+ "type": "string"
+ },
+ "scale-down-delay-after-delete": {
+ "type": "string"
+ },
+ "scale-down-delay-after-failure": {
+ "type": "string"
+ },
+ "scale-down-unneeded-time": {
+ "type": "string"
+ },
+ "scale-down-unready-time": {
+ "type": "string"
+ },
+ "scale-down-utilization-threshold": {
+ "type": "string"
+ },
+ "skip-nodes-with-local-storage": {
+ "type": "string"
+ },
+ "skip-nodes-with-system-pods": {
+ "type": "string"
+ }
+ },
+ "description": "Parameters to be applied to the cluster-autoscaler when enabled"
+ },
+ "apiServerAccessProfile": {
+ "$ref": "#/definitions/ManagedClusterAPIServerAccessProfile",
+ "description": "Access profile for managed cluster API server."
+ },
+ "diskEncryptionSetID": {
+ "type": "string",
+ "description": "ResourceId of the disk encryption set to use for enabling encryption at rest."
+ },
+ "identityProfile": {
+ "additionalProperties": {
+ "readOnly": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ },
+ "description": "Identities associated with the cluster."
+ }
+ },
+ "description": "Properties of the managed cluster."
+ },
+ "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
+ }
+ }
+ }
+ },
+ "ManagedClusterAPIServerAccessProfile": {
+ "properties": {
+ "authorizedIPRanges": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "Authorized IP Ranges to kubernetes API server."
+ },
+ "enablePrivateCluster": {
+ "type": "boolean",
+ "description": "Whether to create the cluster as a private cluster or not."
+ }
+ },
+ "description": "Access profile for managed cluster API server."
+ },
+ "ManagedClusterIdentity": {
+ "properties": {
+ "principalId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The principal id of the system assigned identity which is used by master components."
+ },
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The tenant id of the system assigned identity which is used by master components."
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of identity used for the managed cluster. Type 'SystemAssigned' will use an implicitly created identity in master components and an auto-created user assigned identity in MC_ resource group in agent nodes. Type 'None' will not use MSI for the managed cluster, service principal will be used instead.",
+ "enum": [
+ "SystemAssigned",
+ "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 user identity associated with the managed cluster. This identity will be used in control plane and only one user assigned identity is allowed. 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 managed cluster."
+ },
+ "UserAssignedIdentity": {
+ "properties": {
+ "resourceId": {
+ "type": "string",
+ "description": "The resource id of the user assigned identity."
+ },
+ "clientId": {
+ "type": "string",
+ "description": "The client id of the user assigned identity."
+ },
+ "objectId": {
+ "type": "string",
+ "description": "The object id of the user assigned identity."
+ }
+ }
+ },
+ "ManagedClusterAccessProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ },
+ {
+ "properties": {
+ "properties": {
+ "description": "AccessProfile of a managed cluster.",
+ "$ref": "#/definitions/AccessProfile",
+ "x-ms-client-flatten": true
+ }
+ }
+ }
+ ],
+ "description": "Managed cluster Access Profile.",
+ "x-ms-azure-resource": false
+ },
+ "AccessProfile": {
+ "type": "object",
+ "properties": {
+ "kubeConfig": {
+ "type": "string",
+ "format": "byte",
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "Profile for enabling a user to access a managed cluster."
+ },
+ "ManagedClusterPoolUpgradeProfile": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "name": {
+ "type": "string",
+ "description": "Pool name."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ }
+ },
+ "required": [
+ "kubernetesVersion",
+ "osType"
+ ],
+ "description": "The list of available upgrade versions."
+ },
+ "ManagedClusterUpgradeProfileProperties": {
+ "properties": {
+ "controlPlaneProfile": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile",
+ "description": "The list of available upgrade versions for the control plane."
+ },
+ "agentPoolProfiles": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ManagedClusterPoolUpgradeProfile"
+ },
+ "description": "The list of available upgrade versions for agent pools."
+ }
+ },
+ "required": [
+ "controlPlaneProfile",
+ "agentPoolProfiles"
+ ],
+ "description": "Control plane and agent pool upgrade profiles."
+ },
+ "ManagedClusterAADProfile": {
+ "properties": {
+ "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": "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."
+ }
+ },
+ "description": "AADProfile specifies attributes for Azure Active Directory integration."
+ },
+ "ManagedClusterAddonProfile": {
+ "properties": {
+ "enabled": {
+ "type": "boolean",
+ "description": "Whether the add-on is enabled or not."
+ },
+ "config": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Key-value pairs for configuring an add-on."
+ },
+ "identity": {
+ "readOnly": true,
+ "description": "Information of user assigned identity used by this add-on.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/UserAssignedIdentity"
+ }
+ ]
+ }
+ },
+ "required": [
+ "enabled"
+ ],
+ "description": "A Kubernetes add-on profile for a managed cluster."
+ },
+ "ManagedClusterUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/ManagedClusterUpgradeProfileProperties",
+ "description": "Properties of upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for compute pools."
+ },
+ "AgentPoolUpgradeProfile": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Id of the agent pool upgrade profile."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool upgrade profile."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool upgrade profile."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolUpgradeProfileProperties",
+ "description": "Properties of agent pool upgrade profile.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available upgrades for an agent pool."
+ },
+ "AgentPoolUpgradeProfileProperties": {
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "osType": {
+ "$ref": "#/definitions/OSType",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "ContainerServiceOSTypes",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "upgrades": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of orchestrator types and versions available for upgrade."
+ },
+ "latestNodeImageVersion": {
+ "type": "string",
+ "description": "LatestNodeImageVersion is 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": "Id of the agent pool available versions."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the agent pool available versions."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Type of the agent pool available versions."
+ },
+ "properties": {
+ "$ref": "#/definitions/AgentPoolAvailableVersionsProperties",
+ "description": "Properties of agent pool available versions.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "required": [
+ "properties"
+ ],
+ "description": "The list of available versions for an agent pool."
+ },
+ "AgentPoolAvailableVersionsProperties": {
+ "properties": {
+ "agentPoolVersions": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "properties": {
+ "default": {
+ "type": "boolean",
+ "description": "Whether this version is the default agent pool version."
+ },
+ "kubernetesVersion": {
+ "type": "string",
+ "description": "Kubernetes version (major, minor, patch)."
+ },
+ "isPreview": {
+ "type": "boolean",
+ "description": "Whether Kubernetes version is currently in preview."
+ }
+ }
+ },
+ "description": "List of versions available for agent pool."
+ }
+ },
+ "description": "The list of available agent pool versions."
+ },
+ "OSType": {
+ "type": "string",
+ "default": "Linux",
+ "enum": [
+ "Linux",
+ "Windows"
+ ],
+ "x-ms-enum": {
+ "name": "OSType",
+ "modelAsString": true
+ },
+ "description": "OsType to be used to specify os type. Choose from Linux and Windows. Default to Linux."
+ },
+ "ScaleSetPriority": {
+ "type": "string",
+ "default": "Regular",
+ "enum": [
+ "Spot",
+ "Regular"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetPriority",
+ "modelAsString": true
+ },
+ "description": "ScaleSetPriority to be used to specify virtual machine scale set priority. Default to regular."
+ },
+ "ScaleSetEvictionPolicy": {
+ "type": "string",
+ "default": "Delete",
+ "enum": [
+ "Delete",
+ "Deallocate"
+ ],
+ "x-ms-enum": {
+ "name": "ScaleSetEvictionPolicy",
+ "modelAsString": true
+ },
+ "description": "ScaleSetEvictionPolicy to be used to specify eviction policy for Spot virtual machine scale set. Default to Delete."
+ },
+ "SpotMaxPrice": {
+ "type": "number",
+ "default": -1,
+ "description": "SpotMaxPrice to be used to specify the maximum price you are willing to pay in US Dollars. Possible values are any decimal value greater than zero or -1 which indicates default price to be up-to on-demand."
+ },
+ "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 of credential result response."
+ },
+ "CredentialResult": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the credential."
+ },
+ "value": {
+ "type": "string",
+ "format": "byte",
+ "readOnly": true,
+ "description": "Base64-encoded Kubernetes configuration file."
+ }
+ },
+ "description": "The credential result response."
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "Details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "CloudErrorBody": {
+ "x-ms-external": true,
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically."
+ },
+ "message": {
+ "type": "string",
+ "description": "A message describing the error, intended to be suitable for display in a user interface."
+ },
+ "target": {
+ "type": "string",
+ "description": "The target of the particular error. For example, the name of the property in error."
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ },
+ "description": "A list of additional details about the error."
+ }
+ },
+ "description": "An error response from the Container service."
+ },
+ "ManagedClusterSKU": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of a managed cluster SKU.",
+ "enum": [
+ "Basic"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "description": "Tier of a managed cluster SKU.",
+ "enum": [
+ "Paid",
+ "Free"
+ ],
+ "x-ms-enum": {
+ "name": "ManagedClusterSKUTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "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 for 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": "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
+ },
+ "description": "OSDiskType represents the type of an OS disk on an agent pool."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call.",
+ "x-ms-parameter-location": "client"
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version.",
+ "x-ms-parameter-location": "client"
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "description": "The name of the resource group.",
+ "x-ms-parameter-location": "method"
+ },
+ "ResourceNameParameter": {
+ "name": "resourceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 63,
+ "pattern": "^[a-zA-Z0-9]$|^[a-zA-Z0-9][-_a-zA-Z0-9]{0,61}[a-zA-Z0-9]$",
+ "description": "The name of the managed cluster resource.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/containerservice/resource-manager/readme.azureresourceschema.md b/specification/containerservice/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..90ab94bce32e
--- /dev/null
+++ b/specification/containerservice/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,303 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-containerservice-2020-07-01
+ - tag: schema-containerservice-2020-06-01
+ - tag: schema-containerservice-2020-04-01
+ - tag: schema-containerservice-2020-03-01
+ - tag: schema-containerservice-2020-02-01
+ - tag: schema-containerservice-2020-01-01
+ - tag: schema-containerservice-2019-11-01
+ - tag: schema-containerservice-2019-10-27-preview
+ - tag: schema-containerservice-2019-10-01
+ - tag: schema-containerservice-2019-09-30
+ - tag: schema-containerservice-2019-08-01
+ - tag: schema-containerservice-2019-06-01
+ - tag: schema-containerservice-2019-04-30
+ - tag: schema-containerservice-2019-04-01
+ - tag: schema-containerservice-2019-02-01
+ - tag: schema-containerservice-2018-09-30-preview
+ - tag: schema-containerservice-2018-08-01-preview
+ - tag: schema-containerservice-2018-03-31
+ - tag: schema-containerservice-2017-09-30
+ - tag: schema-containerservice-2017-08-31
+ - tag: schema-containerservice-2017-07-01
+ - tag: schema-containerservice-2017-01-31
+ - tag: schema-containerservice-2016-09-30
+ - tag: schema-containerservice-2016-03-30
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-containerservice-2020-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-02-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-02-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2020-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2020-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2020-01-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-11-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-10-27-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-10-27-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2019-10-27-preview/openShiftManagedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-10-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2019-09-30/openShiftManagedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-08-01/location.json
+ - Microsoft.ContainerService/stable/2019-08-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-06-01/location.json
+ - Microsoft.ContainerService/stable/2019-06-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-04-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-04-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
+
+```
+
+### Tag: schema-containerservice-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-04-01/managedClusters.json
+ - Microsoft.ContainerService/stable/2019-04-01/location.json
+
+```
+
+### Tag: schema-containerservice-2019-02-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2019-02-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2019-02-01/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2018-09-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2018-09-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2018-09-30-preview/openShiftManagedClusters.json
+
+```
+
+### Tag: schema-containerservice-2018-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2018-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/preview/2018-08-01-preview/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2018-03-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2018-03-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2018-03-31/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2017-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-09-30/location.json
+
+```
+
+### Tag: schema-containerservice-2017-08-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-08-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-08-31/managedClusters.json
+
+```
+
+### Tag: schema-containerservice-2017-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-07-01/containerService.json
+
+```
+
+### Tag: schema-containerservice-2017-01-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2017-01-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2017-01-31/containerService.json
+
+```
+
+### Tag: schema-containerservice-2016-09-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2016-09-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2016-09-30/containerService.json
+
+```
+
+### Tag: schema-containerservice-2016-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-containerservice-2016-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.ContainerService/stable/2016-03-30/containerService.json
+
+```
diff --git a/specification/containerservice/resource-manager/readme.go.md b/specification/containerservice/resource-manager/readme.go.md
index 0e97d488f974..4ce9ad0f6647 100644
--- a/specification/containerservice/resource-manager/readme.go.md
+++ b/specification/containerservice/resource-manager/readme.go.md
@@ -12,6 +12,9 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-09
+ - tag: package-2020-07
+ - tag: package-2020-06
- tag: package-2020-04
- tag: package-2020-03
- tag: package-2020-02
@@ -31,6 +34,35 @@ batch:
- tag: package-2017-08
- tag: package-2017-07
```
+### Tag: package-2020-09 and go
+
+These settings apply only when `--package-2020-09 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-09' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-09-01/$(namespace)
+```
+
+### Tag: package-2020-07 and go
+
+These settings apply only when `--package-2020-07 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-07' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-07-01/$(namespace)
+```
+
+### Tag: package-2020-06 and go
+
+These settings apply only when `--package-2020-06 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-06' && $(go)
+namespace: containerservice
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace)
+```
### Tag: package-2020-04 and go
diff --git a/specification/containerservice/resource-manager/readme.java.md b/specification/containerservice/resource-manager/readme.java.md
index 4f496925aa45..d3c231ff32db 100644
--- a/specification/containerservice/resource-manager/readme.java.md
+++ b/specification/containerservice/resource-manager/readme.java.md
@@ -24,6 +24,47 @@ batch:
- tag: package-2020-02
- tag: package-2020-03
- tag: package-2020-04
+ - tag: package-2020-06
+ - tag: package-2020-07
+ - tag: package-2020-09
+```
+
+### Tag: package-2020-07 and java
+
+These settings apply only when `--tag=package-2020-07` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-07' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2020_07_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_07_01
+regenerate-manager: true
+generate-interface: true
+```
+### Tag: package-2020-09 and java
+
+These settings apply only when `--tag=package-2020-09` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-09' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2020_09_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_09_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2020-06 and java
+
+These settings apply only when `--tag=package-2020-06` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-06' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.containerservice.v2020_06_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2020_06_01
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2020-04 and java
@@ -180,4 +221,4 @@ java:
output-folder: $(azure-libraries-for-java-folder)/sdk/containerservice/mgmt-v2017_07_01
regenerate-manager: true
generate-interface: true
-```
\ No newline at end of file
+```
diff --git a/specification/containerservice/resource-manager/readme.md b/specification/containerservice/resource-manager/readme.md
index 3b25efeec43a..0422a527f0db 100644
--- a/specification/containerservice/resource-manager/readme.md
+++ b/specification/containerservice/resource-manager/readme.md
@@ -34,21 +34,57 @@ These are the global settings for the ContainerServices API.
``` yaml
openapi-type: arm
-tag: package-2020-04
+tag: package-2020-09
```
+### Tag: package-2020-09
+
+These settings apply only when `--tag=package-2020-09` is specified on the command line.
+
+```yaml $(tag) == 'package-2020-09'
+input-file:
+ - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
+ - Microsoft.ContainerService/stable/2017-07-01/containerService.json
+ - Microsoft.ContainerService/stable/2019-08-01/location.json
+ - Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
+```
+### Tag: package-2020-07
+
+These settings apply only when `--tag=package-2020-07` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-07'
+input-file:
+ - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
+ - Microsoft.ContainerService/stable/2017-07-01/containerService.json
+ - Microsoft.ContainerService/stable/2019-08-01/location.json
+ - Microsoft.ContainerService/stable/2020-07-01/managedClusters.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:
+ - Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
+ - Microsoft.ContainerService/stable/2017-07-01/containerService.json
+ - Microsoft.ContainerService/stable/2019-08-01/location.json
+ - Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
+```
+
### Tag: package-2020-04
These settings apply only when `--tag=package-2020-04` is specified on the command line.
-```yaml $(tag) == 'package-2020-04'
+``` yaml $(tag) == 'package-2020-04'
input-file:
- Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
- Microsoft.ContainerService/stable/2017-07-01/containerService.json
- Microsoft.ContainerService/stable/2019-08-01/location.json
- Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
```
+
### Tag: package-2020-03
These settings apply only when `--tag=package-2020-03` is specified on the command line.
@@ -244,6 +280,45 @@ These settings apply only when `--tag=package-2017-07` is specified on the comma
``` yaml $(tag) == 'package-2017-07'
input-file:
- Microsoft.ContainerService/stable/2017-07-01/containerService.json
+
+```
+### Tag: package-2020-09-01-only
+
+These settings apply only when `--tag=package-2020-09-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-09-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2020-09-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
+### Tag: package-2020-07-01-only
+
+These settings apply only when `--tag=package-2020-07-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-07-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
+```
+
+### Tag: package-2020-06-01-only
+
+These settings apply only when `--tag=package-2020-06-01-only` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-01-only'
+input-file:
+- Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
+directive:
+ - suppress: DefinitionsPropertiesNamesCamelCase
+ where: $.definitions.ManagedClusterProperties.properties.autoScalerProfile
+ reason: Cluster-autoscaler settings are not camel-cased
```
### Tag: package-2020-04-01-only
@@ -483,6 +558,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_container_service']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js containerservice/resource-manager
```
## C#
@@ -520,6 +598,10 @@ directive:
reason: ACS service is deprecated so a PATCH endpoint won't be implemented
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -535,6 +617,8 @@ input-file:
- $(this-folder)/Microsoft.ContainerService/stable/2019-04-30/openShiftManagedClusters.json
- $(this-folder)/Microsoft.ContainerService/stable/2017-07-01/containerService.json
- $(this-folder)/Microsoft.ContainerService/stable/2019-08-01/location.json
+ - $(this-folder)/Microsoft.ContainerService/stable/2020-07-01/managedClusters.json
+ - $(this-folder)/Microsoft.ContainerService/stable/2020-06-01/managedClusters.json
- $(this-folder)/Microsoft.ContainerService/stable/2020-04-01/managedClusters.json
- $(this-folder)/Microsoft.ContainerService/stable/2020-03-01/managedClusters.json
- $(this-folder)/Microsoft.ContainerService/stable/2020-02-01/managedClusters.json
@@ -564,6 +648,6 @@ If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
-#exclude-file:
+#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
diff --git a/specification/containerservice/resource-manager/readme.python.md b/specification/containerservice/resource-manager/readme.python.md
index 9b8f710a5632..7a02ff59401b 100644
--- a/specification/containerservice/resource-manager/readme.python.md
+++ b/specification/containerservice/resource-manager/readme.python.md
@@ -18,6 +18,9 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2020-09-01-only
+ - tag: package-2020-07-01-only
+ - tag: package-2020-06-01-only
- tag: package-2020-04-01-only
- tag: package-2020-03-01-only
- tag: package-2020-02-01-only
@@ -37,6 +40,39 @@ batch:
- tag: package-2017-07-only-extended
```
+### Tag: package-2020-09-01-only and python
+
+These settings apply only when `--tag=package-2020-09-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-09-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2020_09_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_09_01
+```
+
+### Tag: package-2020-07-01-only and python
+
+These settings apply only when `--tag=package-2020-07-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-07-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2020_07_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_07_01
+```
+
+### Tag: package-2020-06-01-only and python
+
+These settings apply only when `--tag=package-2020-06-01-only --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-01-only' && $(python)
+python:
+ namespace: azure.mgmt.containerservice.v2020_06_01
+ output-folder: $(python-sdks-folder)/containerservice/azure-mgmt-containerservice/azure/mgmt/containerservice/v2020_06_01
+```
+
### Tag: package-2020-04-01-only and python
These settings apply only when `--tag=package-2020-04-01-only --python` is specified on the command line.
diff --git a/specification/cosmos-db/data-plane/readme.go.md b/specification/cosmos-db/data-plane/readme.go.md
index e8b63caff258..610b160a3ccf 100644
--- a/specification/cosmos-db/data-plane/readme.go.md
+++ b/specification/cosmos-db/data-plane/readme.go.md
@@ -22,5 +22,5 @@ These settings apply only when `--tag=package-2019-02 --go` is specified on the
Please also specify `--go-sdk-folder=`.
``` yaml $(tag) == 'package-2019-02' && $(go)
-output-folder: $(go-sdk-folder)/services/storage/tables/2019-02-02/$(namespace)
+output-folder: $(go-sdk-folder)/services/preview/storage/tables/2019-02-02-preview/$(namespace)
```
\ No newline at end of file
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
new file mode 100644
index 000000000000..9cde743923e7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
@@ -0,0 +1,8020 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Cosmos DB",
+ "description": "Azure Cosmos DB Database Service Resource Provider REST API",
+ "version": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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}/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}/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}/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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ }
+ },
+ "/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}/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}/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}/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}/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}/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}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_ListByLocation",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountList": {
+ "$ref": "./examples/CosmosDBRestorableDatabaseAccountList.json"
+ }
+ },
+ "description": "Lists all the restorable Azure Cosmos DB database accounts available under the subscription and in a region.",
+ "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": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/restorableDatabaseAccounts": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_List",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountList": {
+ "$ref": "./examples/CosmosDBRestorableDatabaseAccountNoLocationList.json"
+ }
+ },
+ "description": "Lists all the restorable 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/RestorableDatabaseAccountsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DocumentDB/locations/{location}/restorableDatabaseAccounts/{instanceId}": {
+ "get": {
+ "operationId": "RestorableDatabaseAccounts_GetByLocation",
+ "x-ms-examples": {
+ "CosmosDBDatabaseAccountGet": {
+ "$ref": "./examples/CosmosDBRestorableDatabaseAccountGet.json"
+ }
+ },
+ "description": "Retrieves the properties of an existing Azure Cosmos DB restorable database account.",
+ "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": "#/definitions/ErrorResponseUpdatedFormat"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "DatabaseAccountsListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccountGetResults"
+ },
+ "description": "List of database account and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the database accounts and their properties."
+ },
+ "SqlDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlDatabaseGetResults"
+ },
+ "description": "List of SQL databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the SQL databases and their properties."
+ },
+ "SqlContainerListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlContainerGetResults"
+ },
+ "description": "List of containers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the containers and their properties."
+ },
+ "SqlStoredProcedureListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlStoredProcedureGetResults"
+ },
+ "description": "List of storedProcedures and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the storedProcedures and their properties."
+ },
+ "SqlUserDefinedFunctionListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlUserDefinedFunctionGetResults"
+ },
+ "description": "List of userDefinedFunctions and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the userDefinedFunctions and their properties."
+ },
+ "SqlTriggerListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SqlTriggerGetResults"
+ },
+ "description": "List of triggers and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the triggers and their properties."
+ },
+ "MongoDBDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBDatabaseGetResults"
+ },
+ "description": "List of MongoDB databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the MongoDB databases and their properties."
+ },
+ "MongoDBCollectionListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoDBCollectionGetResults"
+ },
+ "description": "List of MongoDB collections and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the MongoDB collections and their properties."
+ },
+ "TableListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TableGetResults"
+ },
+ "description": "List of Table and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Table and their properties."
+ },
+ "CassandraKeyspaceListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraKeyspaceGetResults"
+ },
+ "description": "List of Cassandra keyspaces and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Cassandra keyspaces and their properties."
+ },
+ "CassandraTableListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CassandraTableGetResults"
+ },
+ "description": "List of Cassandra tables and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Cassandra tables and their properties."
+ },
+ "GremlinDatabaseListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GremlinDatabaseGetResults"
+ },
+ "description": "List of Gremlin databases and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the Gremlin databases and their properties."
+ },
+ "GremlinGraphListResult": {
+ "properties": {
+ "value": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GremlinGraphGetResults"
+ },
+ "description": "List of graphs and their properties."
+ }
+ },
+ "description": "The List operation response, that contains the graphs and their properties."
+ },
+ "ErrorResponse": {
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ },
+ "description": "Error Response."
+ },
+ "ErrorResponseUpdatedFormat": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/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
+ },
+ "DatabaseAccountGetResults": {
+ "description": "An Azure Cosmos DB database account.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "Indicates the type of database account. This can only be set at database account creation.",
+ "type": "string",
+ "default": "GlobalDocumentDB",
+ "enum": [
+ "GlobalDocumentDB",
+ "MongoDB",
+ "Parse"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountGetProperties"
+ },
+ "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": {
+ "description": "A system generated property that denotes the last updated timestamp of the resource.",
+ "readOnly": true
+ },
+ "_etag": {
+ "type": "string",
+ "description": "A system generated property representing the resource etag required for optimistic concurrency control.",
+ "readOnly": true
+ }
+ }
+ },
+ "ThroughputSettingsGetResults": {
+ "description": "An Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "$ref": "#/definitions/ThroughputSettingsGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "ThroughputSettingsGetProperties": {
+ "description": "The properties of an Azure Cosmos DB resource throughput",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ }
+ }
+ },
+ "SqlDatabaseGetResults": {
+ "description": "An Azure Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "$ref": "#/definitions/SqlDatabaseGetProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "SqlDatabaseGetProperties": {
+ "description": "The properties of an Azure Cosmos DB SQL database",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "properties": {
+ "_colls": {
+ "type": "string",
+ "description": "A system generated property that specified the addressable path of the collections resource."
+ },
+ "_users": {
+ "type": "string",
+ "description": "A system generated property that specifies the addressable path of the users resource."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/SqlDatabaseResource"
+ },
+ {
+ "$ref": "#/definitions/ExtendedResourceProperties"
+ }
+ ]
+ },
+ "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"
+ }
+ ]
+ }
+ }
+ },
+ "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": "#/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"
+ },
+ "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"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "DatabaseAccountCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB database accounts.",
+ "type": "object",
+ "discriminator": "createMode",
+ "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"
+ },
+ "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"
+ },
+ "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"
+ }
+ }
+ },
+ "required": [
+ "locations",
+ "databaseAccountOfferType",
+ "createMode"
+ ]
+ },
+ "DefaultRequestDatabaseAccountCreateUpdateProperties": {
+ "description": "Properties for non-restore Azure Cosmos DB database account requests.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties"
+ }
+ ],
+ "x-ms-discriminator-value": "Default"
+ },
+ "RestoreReqeustDatabaseAccountCreateUpdateProperties": {
+ "description": "Properties to restore Azure Cosmos DB database account.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatabaseAccountCreateUpdateProperties"
+ }
+ ],
+ "properties": {
+ "restoreParameters": {
+ "description": "Parameters to indicate the information about the restore.",
+ "type": "object",
+ "$ref": "#/definitions/RestoreParameters"
+ }
+ },
+ "x-ms-discriminator-value": "Restore"
+ },
+ "DatabaseAccountCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB database accounts.",
+ "type": "object",
+ "properties": {
+ "kind": {
+ "description": "Indicates the type of database account. This can only be set at database account creation.",
+ "type": "string",
+ "default": "GlobalDocumentDB",
+ "enum": [
+ "GlobalDocumentDB",
+ "MongoDB",
+ "Parse"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountKind",
+ "modelAsString": true
+ }
+ },
+ "properties": {
+ "$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"
+ },
+ "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"
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "DatabaseAccountUpdateParameters": {
+ "description": "Parameters for patching Azure Cosmos DB database account properties.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "$ref": "#/definitions/Tags"
+ },
+ "location": {
+ "type": "string",
+ "description": "The location of the resource group to which the resource belongs."
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DatabaseAccountUpdateProperties"
+ },
+ "identity": {
+ "$ref": "#/definitions/ManagedServiceIdentity"
+ }
+ }
+ },
+ "DatabaseAccountListReadOnlyKeysResult": {
+ "description": "The read-only access keys for the given database account.",
+ "properties": {
+ "primaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-only key."
+ },
+ "secondaryReadonlyMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-only key."
+ }
+ }
+ },
+ "DatabaseAccountListKeysResult": {
+ "description": "The access keys for the given database account.",
+ "properties": {
+ "primaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the primary read-write key."
+ },
+ "secondaryMasterKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Base 64 encoded value of the secondary read-write key."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatabaseAccountListReadOnlyKeysResult"
+ }
+ ]
+ },
+ "DatabaseAccountConnectionString": {
+ "description": "Connection string for the Cosmos DB account",
+ "properties": {
+ "connectionString": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Value of the connection string"
+ },
+ "description": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Description of the connection string"
+ }
+ }
+ },
+ "DatabaseAccountListConnectionStringsResult": {
+ "description": "The connection strings for the given database account.",
+ "properties": {
+ "connectionStrings": {
+ "type": "array",
+ "description": "An array that contains the connection strings for the Cosmos DB account.",
+ "items": {
+ "$ref": "#/definitions/DatabaseAccountConnectionString"
+ }
+ }
+ }
+ },
+ "DatabaseAccountRegenerateKeyParameters": {
+ "type": "object",
+ "description": "Parameters to regenerate the keys within the database account.",
+ "properties": {
+ "keyKind": {
+ "type": "string",
+ "description": "The access key to regenerate.",
+ "enum": [
+ "primary",
+ "secondary",
+ "primaryReadonly",
+ "secondaryReadonly"
+ ],
+ "x-ms-enum": {
+ "name": "KeyKind",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "keyKind"
+ ]
+ },
+ "DatabaseAccountOfferType": {
+ "description": "The offer type for the Cosmos DB database account.",
+ "type": "string",
+ "enum": [
+ "Standard"
+ ],
+ "x-ms-enum": {
+ "name": "DatabaseAccountOfferType",
+ "modelAsString": false
+ }
+ },
+ "ThroughputSettingsUpdateParameters": {
+ "description": "Parameters to update Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "$ref": "#/definitions/ThroughputSettingsUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "ThroughputSettingsUpdateProperties": {
+ "description": "Properties to update Azure Cosmos DB resource throughput.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a resource throughput",
+ "$ref": "#/definitions/ThroughputSettingsResource"
+ }
+ },
+ "required": [
+ "resource"
+ ]
+ },
+ "SqlDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB SQL database.",
+ "$ref": "#/definitions/SqlDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB SQL database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a SQL database",
+ "$ref": "#/definitions/SqlDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "SqlContainerCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB container.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB container.",
+ "$ref": "#/definitions/SqlContainerCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlContainerCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB container.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a container",
+ "$ref": "#/definitions/SqlContainerResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "SqlStoredProcedureCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB storedProcedure.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB storedProcedure.",
+ "$ref": "#/definitions/SqlStoredProcedureCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlStoredProcedureCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB storedProcedure.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a storedProcedure",
+ "$ref": "#/definitions/SqlStoredProcedureResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "SqlUserDefinedFunctionCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB userDefinedFunction.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.",
+ "$ref": "#/definitions/SqlUserDefinedFunctionCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlUserDefinedFunctionCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB userDefinedFunction.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a userDefinedFunction",
+ "$ref": "#/definitions/SqlUserDefinedFunctionResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "SqlTriggerCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB trigger.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB trigger.",
+ "$ref": "#/definitions/SqlTriggerCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "SqlTriggerCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB trigger.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a trigger",
+ "$ref": "#/definitions/SqlTriggerResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "MongoDBDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB MongoDB database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB MongoDB database.",
+ "$ref": "#/definitions/MongoDBDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "MongoDBDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB MongoDB database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a MongoDB database",
+ "$ref": "#/definitions/MongoDBDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "MongoDBCollectionCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB MongoDB collection.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB MongoDB collection.",
+ "$ref": "#/definitions/MongoDBCollectionCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "MongoDBCollectionCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB MongoDB collection.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a MongoDB collection",
+ "$ref": "#/definitions/MongoDBCollectionResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "TableCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Table.",
+ "$ref": "#/definitions/TableCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "TableCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Table.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Table",
+ "$ref": "#/definitions/TableResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "CassandraKeyspaceCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Cassandra keyspace.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.",
+ "$ref": "#/definitions/CassandraKeyspaceCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "CassandraKeyspaceCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Cassandra keyspace.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Cassandra keyspace",
+ "$ref": "#/definitions/CassandraKeyspaceResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "CassandraTableCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Cassandra table.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Cassandra table.",
+ "$ref": "#/definitions/CassandraTableCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "CassandraTableCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Cassandra table.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Cassandra table",
+ "$ref": "#/definitions/CassandraTableResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "GremlinDatabaseCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Gremlin database.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Gremlin database.",
+ "$ref": "#/definitions/GremlinDatabaseCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "GremlinDatabaseCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Gremlin database.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Gremlin database",
+ "$ref": "#/definitions/GremlinDatabaseResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "GremlinGraphCreateUpdateParameters": {
+ "description": "Parameters to create and update Cosmos DB Gremlin graph.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties to create and update Azure Cosmos DB Gremlin graph.",
+ "$ref": "#/definitions/GremlinGraphCreateUpdateProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ],
+ "required": [
+ "properties"
+ ]
+ },
+ "GremlinGraphCreateUpdateProperties": {
+ "description": "Properties to create and update Azure Cosmos DB Gremlin graph.",
+ "type": "object",
+ "properties": {
+ "resource": {
+ "description": "The standard JSON format of a Gremlin graph",
+ "$ref": "#/definitions/GremlinGraphResource"
+ },
+ "options": {
+ "description": "A key-value pair of options to be applied for the request. This corresponds to the headers sent with the request.",
+ "$ref": "#/definitions/CreateUpdateOptions"
+ }
+ },
+ "required": [
+ "resource",
+ "options"
+ ]
+ },
+ "ThroughputSettingsResource": {
+ "type": "object",
+ "description": "Cosmos DB resource throughput object. 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."
+ }
+ }
+ },
+ "SqlDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlContainerResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL container resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL container"
+ },
+ "indexingPolicy": {
+ "$ref": "#/definitions/IndexingPolicy",
+ "description": "The configuration of the indexing policy. By default, the indexing is automatic for all document paths within the container"
+ },
+ "partitionKey": {
+ "$ref": "#/definitions/ContainerPartitionKey",
+ "description": "The configuration of the partition key to be used for partitioning data into multiple partitions"
+ },
+ "defaultTtl": {
+ "type": "integer",
+ "description": "Default time to live"
+ },
+ "uniqueKeyPolicy": {
+ "$ref": "#/definitions/UniqueKeyPolicy",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service."
+ },
+ "conflictResolutionPolicy": {
+ "$ref": "#/definitions/ConflictResolutionPolicy",
+ "description": "The conflict resolution policy for the container."
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "IndexingPolicy": {
+ "type": "object",
+ "description": "Cosmos DB indexing policy",
+ "properties": {
+ "automatic": {
+ "type": "boolean",
+ "description": "Indicates if the indexing policy is automatic"
+ },
+ "indexingMode": {
+ "description": "Indicates the indexing mode.",
+ "type": "string",
+ "default": "Consistent",
+ "enum": [
+ "Consistent",
+ "Lazy",
+ "None"
+ ],
+ "x-ms-enum": {
+ "name": "IndexingMode",
+ "modelAsString": true
+ }
+ },
+ "includedPaths": {
+ "description": "List of paths to include in the indexing",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IncludedPath"
+ }
+ },
+ "excludedPaths": {
+ "description": "List of paths to exclude from indexing",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ExcludedPath"
+ }
+ },
+ "compositeIndexes": {
+ "description": "List of composite path list",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompositePathList"
+ }
+ },
+ "spatialIndexes": {
+ "description": "List of spatial specifics",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialSpec"
+ }
+ }
+ }
+ },
+ "ExcludedPath": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ }
+ }
+ },
+ "IncludedPath": {
+ "type": "object",
+ "description": "The paths that are included in indexing",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ },
+ "indexes": {
+ "description": "List of indexes for this path",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Indexes"
+ }
+ }
+ }
+ },
+ "Indexes": {
+ "type": "object",
+ "description": "The indexes for the path.",
+ "properties": {
+ "dataType": {
+ "description": "The datatype for which the indexing behavior is applied to.",
+ "type": "string",
+ "default": "String",
+ "enum": [
+ "String",
+ "Number",
+ "Point",
+ "Polygon",
+ "LineString",
+ "MultiPolygon"
+ ],
+ "x-ms-enum": {
+ "name": "DataType",
+ "modelAsString": true
+ }
+ },
+ "precision": {
+ "description": "The precision of the index. -1 is maximum precision.",
+ "type": "integer"
+ },
+ "kind": {
+ "description": "Indicates the type of index.",
+ "type": "string",
+ "default": "Hash",
+ "enum": [
+ "Hash",
+ "Range",
+ "Spatial"
+ ],
+ "x-ms-enum": {
+ "name": "IndexKind",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CompositePathList": {
+ "description": "List of composite path",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CompositePath"
+ }
+ },
+ "CompositePath": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ },
+ "order": {
+ "description": "Sort order for composite paths.",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ],
+ "x-ms-enum": {
+ "name": "CompositePathSortOrder",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SpatialSpec": {
+ "type": "object",
+ "properties": {
+ "path": {
+ "type": "string",
+ "description": "The path for which the indexing behavior applies to. Index paths typically start with root and end with wildcard (/path/*)"
+ },
+ "types": {
+ "description": "List of path's spatial type",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SpatialType"
+ }
+ }
+ }
+ },
+ "SpatialType": {
+ "description": "Indicates the spatial type of index.",
+ "type": "string",
+ "enum": [
+ "Point",
+ "LineString",
+ "Polygon",
+ "MultiPolygon"
+ ],
+ "x-ms-enum": {
+ "name": "SpatialType",
+ "modelAsString": true
+ }
+ },
+ "ContainerPartitionKey": {
+ "type": "object",
+ "description": "The configuration of the partition key to be used for partitioning data into multiple partitions",
+ "properties": {
+ "paths": {
+ "description": "List of paths using which data within the container can be partitioned",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Path"
+ }
+ },
+ "kind": {
+ "description": "Indicates the kind of algorithm used for partitioning",
+ "type": "string",
+ "default": "Hash",
+ "enum": [
+ "Hash",
+ "Range"
+ ],
+ "x-ms-enum": {
+ "name": "PartitionKind",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "Indicates the version of the partition key definition",
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 2,
+ "format": "int32"
+ }
+ }
+ },
+ "Path": {
+ "type": "string",
+ "description": "A path. These typically start with root (/path)"
+ },
+ "UniqueKeyPolicy": {
+ "type": "object",
+ "description": "The unique key policy configuration for specifying uniqueness constraints on documents in the collection in the Azure Cosmos DB service.",
+ "properties": {
+ "uniqueKeys": {
+ "description": "List of unique keys on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UniqueKey"
+ }
+ }
+ }
+ },
+ "UniqueKey": {
+ "type": "object",
+ "description": "The unique key on that enforces uniqueness constraint on documents in the collection in the Azure Cosmos DB service.",
+ "properties": {
+ "paths": {
+ "description": "List of paths must be unique for each document in the Azure Cosmos DB service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Path"
+ }
+ }
+ }
+ },
+ "ConflictResolutionPolicy": {
+ "type": "object",
+ "description": "The conflict resolution policy for the container.",
+ "properties": {
+ "mode": {
+ "description": "Indicates the conflict resolution mode.",
+ "type": "string",
+ "default": "LastWriterWins",
+ "enum": [
+ "LastWriterWins",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ConflictResolutionMode",
+ "modelAsString": true
+ }
+ },
+ "conflictResolutionPath": {
+ "type": "string",
+ "description": "The conflict resolution path in the case of LastWriterWins mode."
+ },
+ "conflictResolutionProcedure": {
+ "type": "string",
+ "description": "The procedure to resolve conflicts in the case of custom mode."
+ }
+ }
+ },
+ "SqlStoredProcedureResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL storedProcedure resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL storedProcedure"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the Stored Procedure"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlUserDefinedFunctionResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL userDefinedFunction resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL userDefinedFunction"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the User Defined Function"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "SqlTriggerResource": {
+ "type": "object",
+ "description": "Cosmos DB SQL trigger resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB SQL trigger"
+ },
+ "body": {
+ "type": "string",
+ "description": "Body of the Trigger"
+ },
+ "triggerType": {
+ "type": "string",
+ "enum": [
+ "Pre",
+ "Post"
+ ],
+ "description": "Type of the Trigger",
+ "x-ms-enum": {
+ "name": "triggerType",
+ "modelAsString": true
+ }
+ },
+ "triggerOperation": {
+ "type": "string",
+ "enum": [
+ "All",
+ "Create",
+ "Update",
+ "Delete",
+ "Replace"
+ ],
+ "description": "The operation the trigger is associated with",
+ "x-ms-enum": {
+ "name": "triggerOperation",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "MongoDBDatabaseResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB database resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB MongoDB database"
+ }
+ },
+ "required": [
+ "id"
+ ]
+ },
+ "MongoDBCollectionResource": {
+ "type": "object",
+ "description": "Cosmos DB MongoDB collection resource object",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Name of the Cosmos DB MongoDB collection"
+ },
+ "shardKey": {
+ "description": "A key-value pair of shard keys to be applied for the request.",
+ "$ref": "#/definitions/ShardKeys"
+ },
+ "indexes": {
+ "description": "List of index keys",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MongoIndex"
+ }
+ },
+ "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"
+ ]
+ },
+ "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\"."
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of a private endpoint connection.",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpointProperty",
+ "description": "Private endpoint which the connection belongs to."
+ },
+ "privateLinkServiceConnectionState": {
+ "$ref": "#/definitions/PrivateLinkServiceConnectionStateProperty",
+ "description": "Connection State of the Private Endpoint Connection."
+ }
+ }
+ },
+ "PrivateEndpointProperty": {
+ "type": "object",
+ "description": "Private endpoint which the connection belongs to.",
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource id of the private endpoint."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionStateProperty": {
+ "type": "object",
+ "description": "Connection State of the Private Endpoint Connection.",
+ "properties": {
+ "status": {
+ "type": "string",
+ "description": "The private link service connection status."
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Any action that is required beyond basic workflow (approve/ reject/ disconnect)",
+ "readOnly": true
+ }
+ }
+ },
+ "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",
+ "readOnly": true,
+ "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"
+ ],
+ "description": "Describes the ServerVersion of an a MongoDB account.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "ServerVersion"
+ }
+ }
+ }
+ },
+ "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": "Path of the source account from which the restore has to be initiated"
+ },
+ "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 to restore.",
+ "items": {
+ "$ref": "#/definitions/DatabaseRestoreResource"
+ }
+ }
+ }
+ },
+ "DatabaseRestoreResource": {
+ "type": "object",
+ "description": "Specific Databases to restore.",
+ "properties": {
+ "databaseName": {
+ "type": "string",
+ "description": "The name of the database to restore."
+ },
+ "collectionNames": {
+ "type": "array",
+ "description": "The names of the collections to restore.",
+ "items": {
+ "$ref": "#/definitions/CollectionName"
+ }
+ }
+ }
+ },
+ "CollectionName": {
+ "type": "string",
+ "description": "The name of the collection."
+ },
+ "BackupPolicy": {
+ "type": "object",
+ "description": "The object representing the policy for taking backups on an account.",
+ "discriminator": "type",
+ "properties": {
+ "type": {
+ "type": "string",
+ "enum": [
+ "Periodic",
+ "Continuous"
+ ],
+ "description": "Describes the mode of backups.",
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "BackupType"
+ }
+ }
+ },
+ "required": [
+ "type"
+ ]
+ },
+ "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"
+ }
+ }
+ },
+ "RestorableDatabaseAccountsListResult": {
+ "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"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMResourceProperties"
+ }
+ ]
+ },
+ "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)."
+ }
+ }
+ }
+ },
+ "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."
+ },
+ "databaseNameParameter": {
+ "name": "databaseName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB database name."
+ },
+ "containerNameParameter": {
+ "name": "containerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB container name."
+ },
+ "storedProcedureNameParameter": {
+ "name": "storedProcedureName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB storedProcedure name."
+ },
+ "userDefinedFunctionNameParameter": {
+ "name": "userDefinedFunctionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB userDefinedFunction name."
+ },
+ "triggerNameParameter": {
+ "name": "triggerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB trigger name."
+ },
+ "tableNameParameter": {
+ "name": "tableName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB table name."
+ },
+ "collectionNameParameter": {
+ "name": "collectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB collection name."
+ },
+ "keyspaceNameParameter": {
+ "name": "keyspaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB keyspace name."
+ },
+ "graphNameParameter": {
+ "name": "graphName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB graph name."
+ },
+ "regionParameter": {
+ "name": "region",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "sourceRegionParameter": {
+ "name": "sourceRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Source region from which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "targetRegionParameter": {
+ "name": "targetRegion",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Target region to which data is written. Cosmos DB region, with spaces between words and each word capitalized."
+ },
+ "partitionKeyRangeIdParameter": {
+ "name": "partitionKeyRangeId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "Partition Key Range Id for which to get data."
+ },
+ "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."
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
new file mode 100644
index 000000000000..704a58b5370a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceDelete.json
new file mode 100644
index 000000000000..a00447bc3970
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceGet.json
new file mode 100644
index 000000000000..bd7d25ca3402
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceList.json
new file mode 100644
index 000000000000..43d5d1ba9756
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json
new file mode 100644
index 000000000000..58d8462cf64c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
new file mode 100644
index 000000000000..eea27bf7db93
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraKeyspaceThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCassandraTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableCreateUpdate.json
new file mode 100644
index 000000000000..14c411773aee
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableCreateUpdate.json
@@ -0,0 +1,79 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCassandraTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableDelete.json
new file mode 100644
index 000000000000..7ef5350d9689
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableGet.json
new file mode 100644
index 000000000000..965e0010d877
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCassandraTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableList.json
new file mode 100644
index 000000000000..1fa9aa4eecd6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableList.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputGet.json
new file mode 100644
index 000000000000..9a6890c7f1b2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputUpdate.json
new file mode 100644
index 000000000000..6dee1f99e66f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCassandraTableThroughputUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCollectionGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetricDefinitions.json
new file mode 100644
index 000000000000..6a503803cca4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetricDefinitions.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetrics.json
new file mode 100644
index 000000000000..fda0156ddfe7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetMetrics.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCollectionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetUsages.json
new file mode 100644
index 000000000000..163634723a7e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionGetUsages.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetMetrics.json
new file mode 100644
index 000000000000..f24c2b3bcbad
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetMetrics.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetUsages.json
new file mode 100644
index 000000000000..9e2d9c9f85be
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionGetUsages.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
new file mode 100644
index 000000000000..2a2eb4964a0e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBCollectionPartitionRegionGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json
new file mode 100644
index 000000000000..88a5ba3070e6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCheckNameExists.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "api-version": "2020-06-01-preview"
+ },
+ "responses": {
+ "200": {},
+ "404": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
new file mode 100644
index 000000000000..c36777803418
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -0,0 +1,194 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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
+ }
+ ],
+ "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",
+ "enableFreeTier": false,
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ]
+ }
+ }
+ },
+ "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",
+ "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"
+ }
+ ],
+ "keyVaultKeyUri": "https://myKeyVault.vault.azure.net",
+ "enableFreeTier": false,
+ "ipRules": [
+ {
+ "ipAddressOrRange": "23.43.230.120"
+ },
+ {
+ "ipAddressOrRange": "110.12.240.0/12"
+ }
+ ],
+ "apiProperties": {
+ "serverVersion": "3.2"
+ },
+ "enableAnalyticalStorage": true,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ },
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ]
+ },
+ "systemData": {
+ "createdAt": "2020-06-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMin.json
new file mode 100644
index 000000000000..6219541b7ca4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ }
+ },
+ "systemData": {
+ "createdAt": "2020-06-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountDelete.json
new file mode 100644
index 000000000000..9ff324b8aaed
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
new file mode 100644
index 000000000000..d8af0ff02935
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountFailoverPriorityChange.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "accountName": "ddb1-failover",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGet.json
new file mode 100644
index 000000000000..6161ef424776
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGet.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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,
+ "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,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ }
+ },
+ "systemData": {
+ "createdAt": "2020-06-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
new file mode 100644
index 000000000000..63517ceb5d9a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetricDefinitions.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetrics.json
new file mode 100644
index 000000000000..a0f443baa506
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetMetrics.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetUsages.json
new file mode 100644
index 000000000000..1bb8ecba1ac4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountGetUsages.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountList.json
new file mode 100644
index 000000000000..2e78845c0e93
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountList.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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": [],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ }
+ },
+ "systemData": {
+ "createdAt": "2020-06-12T22:05:09Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json
new file mode 100644
index 000000000000..9a8d7e081c13
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ }
+ },
+ "systemData": {
+ "createdAt": "2020-06-12T22:05:09Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json
new file mode 100644
index 000000000000..37ca1bbce43e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStrings.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {}
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
new file mode 100644
index 000000000000..c662a11aaac4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListConnectionStringsMongo.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "accountName": "mongo-ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseAccountListKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListKeys.json
new file mode 100644
index 000000000000..fc86bad626ce
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListKeys.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
new file mode 100644
index 000000000000..86cfea49057e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountListReadOnlyKeys.json
@@ -0,0 +1,16 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "primaryReadonlyMasterKey": "primaryReadonlyMasterKey",
+ "secondaryReadonlyMasterKey": "secondaryReadonlyMasterKey"
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json
new file mode 100644
index 000000000000..682fcdb01757
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOfflineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOffline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json
new file mode 100644
index 000000000000..625bb398abf4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountOnlineRegion.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "region": "North Europe",
+ "regionParameterForOnline": [
+ {
+ "region": "North Europe"
+ }
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json
new file mode 100644
index 000000000000..5c0c861f1146
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountPatch.json
@@ -0,0 +1,164 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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
+ },
+ "enableFreeTier": false,
+ "enableAnalyticalStorage": true,
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ }
+ }
+ }
+ },
+ "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",
+ "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"
+ }
+ }
+ }
+ ],
+ "enableFreeTier": false,
+ "apiProperties": {},
+ "enableAnalyticalStorage": true,
+ "instanceId": "d9b26648-2f53-4541-b3d8-3044f4f9810d",
+ "createMode": "Default",
+ "backupPolicy": {
+ "type": "Periodic",
+ "periodicModeProperties": {
+ "backupIntervalInMinutes": 240,
+ "backupRetentionIntervalInHours": 720
+ }
+ }
+ },
+ "systemData": {
+ "createdAt": "2020-06-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json
new file mode 100644
index 000000000000..f85beb45eafe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegenerateKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "keyToRegenerate": {
+ "keyKind": "primary"
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
new file mode 100644
index 000000000000..57d348a599d6
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseAccountRegionGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json
new file mode 100644
index 000000000000..44125deca8fa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetricDefinitions.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "subscriptionId": "subid",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetrics.json
new file mode 100644
index 000000000000..50ecbb2b5814
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetMetrics.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBDatabaseGetUsages.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetUsages.json
new file mode 100644
index 000000000000..bf3fd23ba35c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBDatabaseGetUsages.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..99e4f7832302
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseDelete.json
new file mode 100644
index 000000000000..511d9bcd4972
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseGet.json
new file mode 100644
index 000000000000..6058e6595bbe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseList.json
new file mode 100644
index 000000000000..d11ac57d5e09
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json
new file mode 100644
index 000000000000..d7cbd90483f2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..5d2d0a8c309e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinGraphCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphCreateUpdate.json
new file mode 100644
index 000000000000..9c19ff332f3a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinGraphDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphDelete.json
new file mode 100644
index 000000000000..73028e433711
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphGet.json
new file mode 100644
index 000000000000..e3dbd74c9b17
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphGet.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinGraphList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphList.json
new file mode 100644
index 000000000000..c5063750656c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphList.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputGet.json
new file mode 100644
index 000000000000..6a8cb74481b7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json
new file mode 100644
index 000000000000..9651decd38e9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBGremlinGraphThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json
new file mode 100644
index 000000000000..0770c6e729b0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionCreateUpdate.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName",
+ "createUpdateMongoDBCollectionParameters": {
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "collectionName",
+ "indexes": [
+ {
+ "key": {
+ "keys": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ },
+ "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": [
+ "testKey"
+ ]
+ },
+ "options": {
+ "expireAfterSeconds": 100,
+ "unique": true
+ }
+ }
+ ],
+ "shardKey": {
+ "testKey": "Hash"
+ },
+ "analyticalStorageTtl": 500
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionDelete.json
new file mode 100644
index 000000000000..a50c0a68ac0c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionGet.json
new file mode 100644
index 000000000000..e85d07849b7f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionGet.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBMongoDBCollectionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionList.json
new file mode 100644
index 000000000000..15ec98ed27b5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json
new file mode 100644
index 000000000000..5e76ac6ef716
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
new file mode 100644
index 000000000000..9bd78681310b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBCollectionThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..7e889dabe227
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseCreateUpdate.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseDelete.json
new file mode 100644
index 000000000000..511d9bcd4972
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseGet.json
new file mode 100644
index 000000000000..346712c979e5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseList.json
new file mode 100644
index 000000000000..26fc4d475d9a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json
new file mode 100644
index 000000000000..dce707ff3240
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..3f034474e39f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBMongoDBDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceCreate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceCreate.json
new file mode 100644
index 000000000000..afaae8fd0162
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceCreate.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceDelete.json
new file mode 100644
index 000000000000..ae29c887cf63
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceGet.json
new file mode 100644
index 000000000000..ca935a796b3f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceList.json
new file mode 100644
index 000000000000..673787cf0a17
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceList.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
new file mode 100644
index 000000000000..aa7442088867
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceListConnectionInfo.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
new file mode 100644
index 000000000000..1ba266df714c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceRegenerateAuthToken.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceStart.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceStart.json
new file mode 100644
index 000000000000..1ba266df714c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBNotebookWorkspaceStart.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "accountName": "ddb1",
+ "notebookWorkspaceName": "default"
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBOperationsList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBOperationsList.json
new file mode 100644
index 000000000000..607a63bc1261
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBOperationsList.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json
new file mode 100644
index 000000000000..1b5d6d517ab7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdGetMetrics.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
new file mode 100644
index 000000000000..0138199a1df3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPKeyRangeIdRegionGetMetrics.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBPercentileGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileGetMetrics.json
new file mode 100644
index 000000000000..c0231b6d7ae9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileGetMetrics.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json
new file mode 100644
index 000000000000..60ecb004ae1d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileSourceTargetGetMetrics.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBPercentileTargetGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileTargetGetMetrics.json
new file mode 100644
index 000000000000..1b1ed44bc304
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBPercentileTargetGetMetrics.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBRegionCollectionGetMetrics.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRegionCollectionGetMetrics.json
new file mode 100644
index 000000000000..3d4f9ea56040
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRegionCollectionGetMetrics.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json
new file mode 100644
index 000000000000..d5edee780392
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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": "2020-06-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json
new file mode 100644
index 000000000000..aae7cbb69c37
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountList.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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": "2020-06-12T22:05:09Z"
+ }
+ },
+ {
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
new file mode 100644
index 000000000000..5b983987c671
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestorableDatabaseAccountNoLocationList.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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": "2020-06-12T22:05:09Z"
+ }
+ },
+ {
+ "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"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json
new file mode 100644
index 000000000000..911e7ddb3017
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBRestoreDatabaseAccountCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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": "2020-06-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
+ }
+ }
+ },
+ "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": "2020-06-12T22:05:09Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerCreateUpdate.json
new file mode 100644
index 000000000000..d1501e29aa40
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerCreateUpdate.json
@@ -0,0 +1,124 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerDelete.json
new file mode 100644
index 000000000000..fc2853b90ebe
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerGet.json
new file mode 100644
index 000000000000..179c0f5a81a9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerGet.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "containerName",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ },
+ "options": {
+ "throughput": 400
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerList.json
new file mode 100644
index 000000000000..d5b52fbc7be7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerList.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/sqlContainers/containerName",
+ "name": "containerName",
+ "type": "Microsoft.DocumentDB/databaseAccounts/sqlDatabases/sqlContainers",
+ "location": "West US",
+ "tags": {},
+ "properties": {
+ "resource": {
+ "id": "testctn",
+ "indexingPolicy": {
+ "indexingMode": "Consistent",
+ "automatic": true,
+ "includedPaths": [
+ {
+ "path": "/*",
+ "indexes": [
+ {
+ "kind": "Range",
+ "dataType": "String",
+ "precision": -1
+ },
+ {
+ "kind": "Range",
+ "dataType": "Number",
+ "precision": -1
+ }
+ ]
+ }
+ ],
+ "excludedPaths": []
+ },
+ "partitionKey": {
+ "paths": [
+ "/AccountNumber"
+ ],
+ "kind": "Hash"
+ },
+ "defaultTtl": 100,
+ "uniqueKeyPolicy": {
+ "uniqueKeys": [
+ {
+ "paths": [
+ "/testPath"
+ ]
+ }
+ ]
+ },
+ "conflictResolutionPolicy": {
+ "mode": "LastWriterWins",
+ "conflictResolutionPath": "/path"
+ },
+ "_rid": "PD5DALigDgw=",
+ "_ts": 1459200611,
+ "_etag": "\"00005900-0000-0000-0000-56f9a2630000\""
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputGet.json
new file mode 100644
index 000000000000..7114ec352ee9
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputUpdate.json
new file mode 100644
index 000000000000..06677777dea0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlContainerThroughputUpdate.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json
new file mode 100644
index 000000000000..a7ef59f044b2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlDatabaseDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseDelete.json
new file mode 100644
index 000000000000..511d9bcd4972
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseGet.json
new file mode 100644
index 000000000000..e7923f36c977
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlDatabaseList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseList.json
new file mode 100644
index 000000000000..517ddda21f2d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseList.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputGet.json
new file mode 100644
index 000000000000..1e2f1e3adc78
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json
new file mode 100644
index 000000000000..1f5b228deb22
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlDatabaseThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
new file mode 100644
index 000000000000..c807256b0caa
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureDelete.json
new file mode 100644
index 000000000000..01802d9d09a1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "storedProcedureName": "storedProcedureName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureGet.json
new file mode 100644
index 000000000000..9bb9c50b6c9e
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureList.json
new file mode 100644
index 000000000000..be06ae058c7b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlStoredProcedureList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlTriggerCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerCreateUpdate.json
new file mode 100644
index 000000000000..d6eaba1a0572
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerCreateUpdate.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlTriggerDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerDelete.json
new file mode 100644
index 000000000000..37cdf314a540
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "triggerName": "triggerName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerGet.json
new file mode 100644
index 000000000000..2745bc74ce3c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlTriggerList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerList.json
new file mode 100644
index 000000000000..9a376a3ce9f4
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlTriggerList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
new file mode 100644
index 000000000000..05b20aff47cf
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionCreateUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json
new file mode 100644
index 000000000000..c7ab1db02f6c
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionDelete.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName",
+ "userDefinedFunctionName": "userDefinedFunctionName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json
new file mode 100644
index 000000000000..60e2f938c7a2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionList.json
new file mode 100644
index 000000000000..5a3bdfee2cde
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBSqlUserDefinedFunctionList.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBTableCreateUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableCreateUpdate.json
new file mode 100644
index 000000000000..a71b934c2e8a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableCreateUpdate.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBTableDelete.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableDelete.json
new file mode 100644
index 000000000000..d60d1b42d61b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-preview",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableGet.json
new file mode 100644
index 000000000000..54c731e2fe3b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBTableList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableList.json
new file mode 100644
index 000000000000..bfa823fc0d8b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableList.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBTableThroughputGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputGet.json
new file mode 100644
index 000000000000..3c3e67319312
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/examples/CosmosDBTableThroughputUpdate.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputUpdate.json
new file mode 100644
index 000000000000..a87c053f5b92
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/examples/CosmosDBTableThroughputUpdate.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-06-01-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/2020-06-01-preview/notebook.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
new file mode 100644
index 000000000000..caf426f3c4e1
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/preview/2020-06-01-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": "2020-06-01-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "Impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.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/2020-06-01-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/2020-06-01-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/2020-06-01-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/2020-06-01-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/2020-06-01-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/2020-06-01-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/2020-06-01-preview/cosmos-db.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "NotebookWorkspaceCreateUpdateParameters": {
+ "description": "Parameters to create a notebook workspace resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../preview/2020-06-01-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/2020-06-01-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/stable/2020-03-01/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json
index 7dbbfb12e702..8e42d573e5d8 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json
@@ -63,9 +63,6 @@
"schema": {
"$ref": "#/definitions/DatabaseAccountGetResults"
}
- },
- "404": {
- "description": "Not Found. The account name is available and valid."
}
}
},
@@ -1683,6 +1680,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": {
"get": {
"operationId": "SqlResources_ListSqlContainers",
@@ -1938,6 +2015,92 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": {
"get": {
"operationId": "SqlResources_ListSqlStoredProcedures",
@@ -2709,6 +2872,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": {
"get": {
"operationId": "MongoDBResources_ListMongoDBCollections",
@@ -2964,15 +3207,16 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": {
- "get": {
- "operationId": "TableResources_ListTables",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale",
"x-ms-examples": {
- "CosmosDBTableList": {
- "$ref": "./examples/CosmosDBTableList.json"
+ "CosmosDBMongoDBCollectionMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json"
}
},
- "description": "Lists the Tables under an existing Azure Cosmos DB database account.",
+ "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"
@@ -2983,32 +3227,39 @@
{
"$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 Table properties were retrieved successfully.",
+ "description": "The MongoDB collection migrate operation was completed successfully.",
"schema": {
- "$ref": "#/definitions/TableListResult"
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
}
}
- },
- "x-ms-pageable": {
- "nextLinkName": null
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": {
- "get": {
- "operationId": "TableResources_GetTable",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput",
"x-ms-examples": {
- "CosmosDBTableGet": {
- "$ref": "./examples/CosmosDBTableGet.json"
+ "CosmosDBMongoDBCollectionMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json"
}
},
- "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.",
+ "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"
@@ -3020,25 +3271,103 @@
"$ref": "#/parameters/accountNameParameter"
},
{
- "$ref": "#/parameters/tableNameParameter"
+ "$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 Table property was retrieved successfully.",
+ "description": "The MongoDB collection migrate operation was completed successfully.",
"schema": {
- "$ref": "#/definitions/TableGetResults"
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
}
}
}
- },
- "put": {
- "operationId": "TableResources_CreateUpdateTable",
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": {
+ "get": {
+ "operationId": "TableResources_ListTables",
"x-ms-examples": {
- "CosmosDBTableReplace": {
+ "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"
}
},
@@ -3201,6 +3530,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": {
"get": {
"operationId": "CassandraResources_ListCassandraKeyspaces",
@@ -3438,6 +3847,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": {
"get": {
"operationId": "CassandraResources_ListCassandraTables",
@@ -3693,6 +4182,92 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": {
"get": {
"operationId": "GremlinResources_ListGremlinDatabases",
@@ -3930,6 +4505,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": {
"get": {
"operationId": "GremlinResources_ListGremlinGraphs",
@@ -4184,6 +4839,92 @@
}
}
}
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
}
},
"definitions": {
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
new file mode 100644
index 000000000000..866e06dd99c2
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "provisionedThroughputSettings": {
+ "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/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
new file mode 100644
index 000000000000..ddd5b858f647
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "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/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..8f57f7e942ac
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "subscriptionId": "subid",
+ "keyspaceName": "keyspaceName",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "provisionedThroughputSettings": {
+ "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/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..f901199a4d11
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "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/stable/2020-03-01/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBDatabaseAccountGet.json
index 4f54871fce78..f9f8b1e7a0c0 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBDatabaseAccountGet.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBDatabaseAccountGet.json
@@ -77,7 +77,6 @@
]
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..c8fada5aa737
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "provisionedThroughputSettings": {
+ "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/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..9daa31f2fa84
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "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/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
new file mode 100644
index 000000000000..0c9f21ef808a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "graphName": "graphName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "provisionedThroughputSettings": {
+ "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/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
new file mode 100644
index 000000000000..7ebda5fed28d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "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/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
new file mode 100644
index 000000000000..61cce1fbda6f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "collectionName": "collectionName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "provisionedThroughputSettings": {
+ "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/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
new file mode 100644
index 000000000000..ea8fd74be2f5
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "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/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..c8fada5aa737
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "provisionedThroughputSettings": {
+ "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/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..9daa31f2fa84
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "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/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json
new file mode 100644
index 000000000000..847f6a543506
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName",
+ "containerName": "containerName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "provisionedThroughputSettings": {
+ "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/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
new file mode 100644
index 000000000000..51092efb4b2f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "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/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..c8fada5aa737
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "subscriptionId": "subid",
+ "databaseName": "databaseName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "provisionedThroughputSettings": {
+ "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/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..9daa31f2fa84
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "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/stable/2020-03-01/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..ac94982bfade
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "subscriptionId": "subid",
+ "tableName": "tableName"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resource": {
+ "throughput": 400,
+ "provisionedThroughputSettings": {
+ "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/stable/2020-03-01/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..8fd6d3a8313f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-03-01/examples/CosmosDBTableMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-03-01",
+ "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/stable/2020-04-01/cosmos-db.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
index fac9062ba082..a56bec2b412a 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
@@ -63,9 +63,6 @@
"schema": {
"$ref": "#/definitions/DatabaseAccountGetResults"
}
- },
- "404": {
- "description": "Not Found. The account name is available and valid."
}
}
},
@@ -1683,6 +1680,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers": {
"get": {
"operationId": "SqlResources_ListSqlContainers",
@@ -1938,6 +2015,92 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/sqlDatabases/{databaseName}/containers/{containerName}/storedProcedures": {
"get": {
"operationId": "SqlResources_ListSqlStoredProcedures",
@@ -2709,6 +2872,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections": {
"get": {
"operationId": "MongoDBResources_ListMongoDBCollections",
@@ -2964,15 +3207,16 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": {
- "get": {
- "operationId": "TableResources_ListTables",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToAutoscale": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToAutoscale",
"x-ms-examples": {
- "CosmosDBTableList": {
- "$ref": "./examples/CosmosDBTableList.json"
+ "CosmosDBMongoDBCollectionMigrateToAutoscale": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json"
}
},
- "description": "Lists the Tables under an existing Azure Cosmos DB database account.",
+ "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"
@@ -2983,32 +3227,39 @@
{
"$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 Table properties were retrieved successfully.",
+ "description": "The MongoDB collection migrate operation was completed successfully.",
"schema": {
- "$ref": "#/definitions/TableListResult"
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
}
}
- },
- "x-ms-pageable": {
- "nextLinkName": null
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables/{tableName}": {
- "get": {
- "operationId": "TableResources_GetTable",
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/mongodbDatabases/{databaseName}/collections/{collectionName}/throughputSettings/default/migrateToManualThroughput": {
+ "post": {
+ "operationId": "MongoDBResources_MigrateMongoDBCollectionToManualThroughput",
"x-ms-examples": {
- "CosmosDBTableGet": {
- "$ref": "./examples/CosmosDBTableGet.json"
+ "CosmosDBMongoDBCollectionMigrateToManualThroughput": {
+ "$ref": "./examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json"
}
},
- "description": "Gets the Tables under an existing Azure Cosmos DB database account with the provided name.",
+ "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"
@@ -3020,25 +3271,103 @@
"$ref": "#/parameters/accountNameParameter"
},
{
- "$ref": "#/parameters/tableNameParameter"
+ "$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 Table property was retrieved successfully.",
+ "description": "The MongoDB collection migrate operation was completed successfully.",
"schema": {
- "$ref": "#/definitions/TableGetResults"
+ "$ref": "#/definitions/ThroughputSettingsGetResults"
}
}
}
- },
- "put": {
- "operationId": "TableResources_CreateUpdateTable",
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/tables": {
+ "get": {
+ "operationId": "TableResources_ListTables",
"x-ms-examples": {
- "CosmosDBTableReplace": {
+ "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"
}
},
@@ -3201,6 +3530,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces": {
"get": {
"operationId": "CassandraResources_ListCassandraKeyspaces",
@@ -3438,6 +3847,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/cassandraKeyspaces/{keyspaceName}/tables": {
"get": {
"operationId": "CassandraResources_ListCassandraTables",
@@ -3693,6 +4182,92 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases": {
"get": {
"operationId": "GremlinResources_ListGremlinDatabases",
@@ -3930,6 +4505,86 @@
}
}
},
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{accountName}/gremlinDatabases/{databaseName}/graphs": {
"get": {
"operationId": "GremlinResources_ListGremlinGraphs",
@@ -4184,6 +4839,92 @@
}
}
}
+ },
+ "/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"
+ }
+ }
+ }
+ }
+ },
+ "/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"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -5077,6 +5818,38 @@
"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",
@@ -5200,6 +5973,13 @@
"enableAnalyticalStorage": {
"description": "Flag to indicate whether to enable storage analytics.",
"type": "boolean"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
}
}
},
@@ -5284,6 +6064,13 @@
"enableAnalyticalStorage": {
"description": "Flag to indicate whether to enable storage analytics.",
"type": "boolean"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
}
},
"required": [
@@ -5400,6 +6187,13 @@
"enableAnalyticalStorage": {
"description": "Flag to indicate whether to enable storage analytics.",
"type": "boolean"
+ },
+ "cors": {
+ "type": "array",
+ "description": "The CORS policy for the Cosmos DB database account.",
+ "items": {
+ "$ref": "#/definitions/CorsPolicy"
+ }
}
}
},
@@ -6118,6 +6912,11 @@
"conflictResolutionPolicy": {
"$ref": "#/definitions/ConflictResolutionPolicy",
"description": "The conflict resolution policy for the container."
+ },
+ "analyticalStorageTtl": {
+ "type": "integer",
+ "format": "int64",
+ "description": "Analytical TTL."
}
},
"required": [
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
new file mode 100644
index 000000000000..7014132ba922
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
new file mode 100644
index 000000000000..c1d7adb55be3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraKeyspaceMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..268bb531bda3
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..a61aa9159b8f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBCassandraTableMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMax.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMax.json
index de4497935071..bd2b1b5d84ec 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMax.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMax.json
@@ -47,7 +47,12 @@
"apiProperties": {
"serverVersion": "3.2"
},
- "enableAnalyticalStorage": true
+ "enableAnalyticalStorage": true,
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ]
}
}
},
@@ -141,7 +146,12 @@
"apiProperties": {
"serverVersion": "3.2"
},
- "enableAnalyticalStorage": true
+ "enableAnalyticalStorage": true,
+ "cors": [
+ {
+ "allowedOrigins": "https://test"
+ }
+ ]
}
}
}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMin.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMin.json
index 6b0224bfd5e6..657a6f3669ed 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMin.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountCreateMin.json
@@ -71,6 +71,7 @@
"failoverPriority": 0
}
],
+ "cors": [],
"enableFreeTier": false,
"apiProperties": {},
"enableAnalyticalStorage": false
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json
index 5acc11878245..6c313a7aaece 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountGet.json
@@ -75,12 +75,12 @@
}
}
],
+ "cors": [],
"enableFreeTier": false,
"apiProperties": {},
"enableAnalyticalStorage": true
}
}
- },
- "404": {}
+ }
}
}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json
index d17099aa4b0e..8a2bebe6ddbf 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountList.json
@@ -73,6 +73,7 @@
}
}
],
+ "cors": [],
"enableFreeTier": false,
"apiProperties": {},
"enableAnalyticalStorage": true
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json
index 3e7ce126f613..909ed62bcfb2 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountListByResourceGroup.json
@@ -60,6 +60,7 @@
"failoverPriority": 0
}
],
+ "cors": [],
"enableFreeTier": false
}
}
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountPatch.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountPatch.json
index 4236c8ec8340..7b9052683a71 100644
--- a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountPatch.json
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBDatabaseAccountPatch.json
@@ -119,6 +119,7 @@
}
}
],
+ "cors": [],
"enableFreeTier": false,
"apiProperties": {},
"enableAnalyticalStorage": true
diff --git a/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..92b77f53e656
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..fe3611022024
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
new file mode 100644
index 000000000000..3548d0c0e8d7
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
new file mode 100644
index 000000000000..d604a817c552
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBGremlinGraphMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
new file mode 100644
index 000000000000..dff0916f8388
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
new file mode 100644
index 000000000000..a6a1b7fea40d
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBCollectionMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..92b77f53e656
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..fe3611022024
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBMongoDBDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json
new file mode 100644
index 000000000000..5d5362d1f905
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToAutoscale.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
new file mode 100644
index 000000000000..014d732eb7e0
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlContainerMigrateToManualThroughput.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
new file mode 100644
index 000000000000..92b77f53e656
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
new file mode 100644
index 000000000000..fe3611022024
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBSqlDatabaseMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBTableMigrateToAutoscale.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToAutoscale.json
new file mode 100644
index 000000000000..c8b8a1a9f94a
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToAutoscale.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/stable/2020-04-01/examples/CosmosDBTableMigrateToManualThroughput.json b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToManualThroughput.json
new file mode 100644
index 000000000000..8d8dd974645f
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/Microsoft.DocumentDB/stable/2020-04-01/examples/CosmosDBTableMigrateToManualThroughput.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "accountName": "ddb1",
+ "resourceGroupName": "rg1",
+ "api-version": "2020-04-01",
+ "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/readme.azureresourceschema.md b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..4abf996fb40b
--- /dev/null
+++ b/specification/cosmos-db/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,150 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-documentdb-2020-06-01-preview
+ - tag: schema-documentdb-2020-04-01
+ - tag: schema-documentdb-2020-03-01
+ - tag: schema-documentdb-2019-12-12
+ - tag: schema-documentdb-2019-08-01-preview
+ - tag: schema-documentdb-2019-08-01
+ - tag: schema-documentdb-2016-03-31
+ - tag: schema-documentdb-2016-03-19
+ - tag: schema-documentdb-2015-11-06
+ - tag: schema-documentdb-2015-04-08
+ - tag: schema-documentdb-2014-04-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-documentdb-2020-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2020-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
+ - Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
+
+```
+
+### Tag: schema-documentdb-2020-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2020-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2020-04-01/notebook.json
+
+```
+
+### Tag: schema-documentdb-2020-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2020-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2020-03-01/notebook.json
+
+```
+
+### Tag: schema-documentdb-2019-12-12 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2019-12-12' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2019-12-12/notebook.json
+
+```
+
+### Tag: schema-documentdb-2019-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2019-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
+ - Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
+
+```
+
+### Tag: schema-documentdb-2019-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2019-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2019-08-01/cosmos-db.json
+ - Microsoft.DocumentDB/stable/2019-08-01/notebook.json
+
+```
+
+### Tag: schema-documentdb-2016-03-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2016-03-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2016-03-31/cosmos-db.json
+
+```
+
+### Tag: schema-documentdb-2016-03-19 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2016-03-19' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2016-03-19/cosmos-db.json
+
+```
+
+### Tag: schema-documentdb-2015-11-06 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2015-11-06' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2015-11-06/cosmos-db.json
+
+```
+
+### Tag: schema-documentdb-2015-04-08 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2015-04-08' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2015-04-08/cosmos-db.json
+
+```
+
+### Tag: schema-documentdb-2014-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-documentdb-2014-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DocumentDB/stable/2014-04-01/cosmos-db.json
+
+```
diff --git a/specification/cosmos-db/resource-manager/readme.go.md b/specification/cosmos-db/resource-manager/readme.go.md
index 09594aa19120..c87fb1089fde 100644
--- a/specification/cosmos-db/resource-manager/readme.go.md
+++ b/specification/cosmos-db/resource-manager/readme.go.md
@@ -13,6 +13,7 @@ go:
``` yaml $(go) && $(multiapi)
batch:
+ - tag: package-2020-06-preview
- tag: package-2020-04
- tag: package-2020-03
- tag: package-2019-12
@@ -20,6 +21,14 @@ batch:
- tag: package-2019-08-preview
- tag: package-2015-04
```
+### Tag: package-2020-06-preview and go
+
+These settings apply only when `--tag=package-2020-06-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-06-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/cosmos-db/mgmt/2020-06-01-preview/$(namespace)
+```
### Tag: package-2020-04 and go
diff --git a/specification/cosmos-db/resource-manager/readme.java.md b/specification/cosmos-db/resource-manager/readme.java.md
index f54ed71714a6..4419599d765a 100644
--- a/specification/cosmos-db/resource-manager/readme.java.md
+++ b/specification/cosmos-db/resource-manager/readme.java.md
@@ -17,6 +17,7 @@ service-name: CosmosDB
``` yaml $(java) && $(multiapi)
batch:
+ - tag: package-2020-06-preview
- tag: package-2020-04
- tag: package-2020-03
- tag: package-2019-12
@@ -24,6 +25,18 @@ batch:
- tag: package-2019-08-preview
- tag: package-2015-04
```
+### Tag: package-2020-06-preview and java
+
+These settings apply only when `--tag=package-2020-06-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-06-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.cosmosdb.v2020_06_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/cosmos/mgmt-v2020_06_01_preview
+regenerate-manager: true
+generate-interface: true
+```
### Tag: package-2020-04 and java
diff --git a/specification/cosmos-db/resource-manager/readme.md b/specification/cosmos-db/resource-manager/readme.md
index 7d71859a71b3..0ca282c6da93 100644
--- a/specification/cosmos-db/resource-manager/readme.md
+++ b/specification/cosmos-db/resource-manager/readme.md
@@ -30,6 +30,18 @@ openapi-type: arm
tag: package-2020-04
```
+### Tag: package-2020-06-preview
+
+These settings apply only when `--tag=package-2020-06-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-preview'
+input-file:
+- Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
+- Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
+- Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
+- Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
+```
+
### Tag: package-2020-04
These settings apply only when `--tag=package-2020-04` is specified on the command line.
@@ -226,6 +238,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cosmos-db/resource-manager
```
@@ -254,6 +269,10 @@ See configuration in [readme.go.md](./readme.go.md)
## Java
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -266,10 +285,12 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
- - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/notebook.json
+ - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/cosmos-db.json
+ - $(this-folder)/Microsoft.DocumentDB/preview/2020-06-01-preview/notebook.json
- $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateLinkResources.json
- $(this-folder)/Microsoft.DocumentDB/preview/2019-08-01-preview/privateEndpointConnection.json
+ - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/cosmos-db.json
+ - $(this-folder)/Microsoft.DocumentDB/stable/2020-04-01/notebook.json
- $(this-folder)/Microsoft.DocumentDB/stable/2020-03-01/cosmos-db.json
- $(this-folder)/Microsoft.DocumentDB/stable/2020-03-01/notebook.json
- $(this-folder)/Microsoft.DocumentDB/stable/2019-12-12/cosmos-db.json
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
new file mode 100644
index 000000000000..58ed986b82aa
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
@@ -0,0 +1,601 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "CostManagementClient",
+ "version": "2020-03-01-preview"
+ },
+ "tags": [
+ {
+ "name": "CostAllocationRules",
+ "description": "An API for creating and managing cost allocation rules within a billing account or enterprise enrollment. These rules can be used to reallocate cost between resources, filtered by Resource Group, Subscription, or Tag."
+ }
+ ],
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules": {
+ "get": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_List",
+ "description": "Get the list of all cost allocation rules for a billing account or enterprise enrollment.",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "CostAllocationRulesList": {
+ "$ref": "./examples/CostAllocationRulesList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of cost allocation rules for the billing account or enterprise enrollment.",
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/checkNameAvailability": {
+ "post": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_CheckNameAvailability",
+ "description": "Checks availability and correctness of a name for a cost allocation rule",
+ "x-ms-examples": {
+ "CostAllocationRuleCheckNameAvailability": {
+ "$ref": "./examples/CostAllocationRuleCheckNameAvailability.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "name": "costAllocationRuleCheckNameAvailabilityRequest",
+ "description": "Cost allocation rule to be created or updated",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleCheckNameAvailabilityRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Response of cost allocation rule name availability.",
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleCheckNameAvailabilityResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/providers/Microsoft.CostManagement/costAllocationRules/{ruleName}": {
+ "get": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_Get",
+ "description": "Get a cost allocation rule by rule name and billing account or enterprise enrollment.",
+ "x-ms-examples": {
+ "CostAllocationRules": {
+ "$ref": "./examples/CostAllocationRuleGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ruleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_CreateOrUpdate",
+ "description": "Create/Update a rule to allocate cost between different resources within a billing account or enterprise enrollment.",
+ "x-ms-examples": {
+ "CostAllocationRulesCreateResourceGroup": {
+ "$ref": "./examples/CostAllocationRuleCreate.json"
+ },
+ "CostAllocationRulesCreateTag": {
+ "$ref": "./examples/CostAllocationRuleCreateTag.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ruleNameParameter"
+ },
+ {
+ "name": "costAllocationRule",
+ "description": "Cost allocation rule to be created or updated",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleDefinition"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/CostAllocationRuleDefinition"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "CostAllocationRules"
+ ],
+ "operationId": "CostAllocationRules_Delete",
+ "description": "Delete cost allocation rule for billing account or enterprise enrollment.",
+ "x-ms-examples": {
+ "CostAllocationRules": {
+ "$ref": "./examples/CostAllocationRuleDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/billingAccountIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ruleNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "204": {
+ "description": "NoContent. Rule did not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \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"
+ }
+ }
+ },
+ "CostAllocationRuleList": {
+ "type": "object",
+ "description": "Result of listing cost allocation rules. It contains a list of available rules in the billing account or enterprise enrollment provided.",
+ "properties": {
+ "value": {
+ "description": "The list of cost allocation rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CostAllocationRuleDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of rule list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "CostAllocationRuleCheckNameAvailabilityRequest": {
+ "type": "object",
+ "description": "The cost allocation rule check name availability request",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Rule name"
+ },
+ "type": {
+ "type": "string",
+ "description": "Resource type. This is expected to be Microsoft.CostManagement/costAllocationRules"
+ }
+ }
+ },
+ "CostAllocationRuleCheckNameAvailabilityResponse": {
+ "type": "object",
+ "description": "The cost allocation rule check name availability response",
+ "properties": {
+ "nameAvailable": {
+ "type": "boolean",
+ "description": "Whether this rule name is available"
+ },
+ "reason": {
+ "$ref": "#/definitions/Reason",
+ "description": "The reason this name is not available"
+ },
+ "message": {
+ "type": "string",
+ "description": "Error message if the name is not available"
+ }
+ }
+ },
+ "Reason": {
+ "type": "string",
+ "description": "The reason this name is not available.",
+ "enum": [
+ "Invalid",
+ "AlreadyExists",
+ "Valid"
+ ],
+ "x-ms-enum": {
+ "name": "Reason",
+ "modelAsString": true
+ }
+ },
+ "CostAllocationRuleDefinition": {
+ "type": "object",
+ "description": "The cost allocation rule model definition",
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure Resource Manager Id for the rule. This is a read ony value."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the rule. This is a read only value."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Resource type of the rule. This is a read only value of Microsoft.CostManagement/CostAllocationRule."
+ },
+ "properties": {
+ "description": "Cost allocation rule properties",
+ "$ref": "#/definitions/CostAllocationRuleProperties"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CostAllocationRuleProperties": {
+ "type": "object",
+ "description": "The properties of a cost allocation rule",
+ "additionalProperties": false,
+ "required": [
+ "details",
+ "status"
+ ],
+ "properties": {
+ "description": {
+ "description": "Description of a cost allocation rule.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Resource information for the cost allocation rule",
+ "$ref": "#/definitions/CostAllocationRuleDetails"
+ },
+ "status": {
+ "$ref": "#/definitions/RuleStatus",
+ "description": "Status of the rule"
+ },
+ "createdDate": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Time at which the rule was created. Rules that change cost for the same resource are applied in order of creation."
+ },
+ "updatedDate": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Time at which the rule was last updated."
+ }
+ }
+ },
+ "RuleStatus": {
+ "type": "string",
+ "description": "Current status of the rule.",
+ "enum": [
+ "NotActive",
+ "Active",
+ "Processing"
+ ],
+ "x-ms-enum": {
+ "name": "RuleStatus",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "NotActive",
+ "description": "Rule is saved but not used to allocate costs.",
+ "name": "NotActive"
+ },
+ {
+ "value": "Active",
+ "description": "Rule is saved and impacting cost allocation.",
+ "name": "Active"
+ },
+ {
+ "value": "Processing",
+ "description": "Rule is saved and cost allocation is being updated. Readonly value that cannot be submitted in a put request.",
+ "name": "Processing"
+ }
+ ]
+ }
+ },
+ "CostAllocationRuleDetails": {
+ "type": "object",
+ "description": "Resource details of the cost allocation rule",
+ "properties": {
+ "sourceResources": {
+ "description": "Source resources for cost allocation. At this time, this list can contain no more than one element.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SourceCostAllocationResource"
+ }
+ },
+ "targetResources": {
+ "type": "array",
+ "description": "Target resources for cost allocation. At this time, this list can contain no more than one element.",
+ "items": {
+ "$ref": "#/definitions/TargetCostAllocationResource"
+ }
+ }
+ }
+ },
+ "CostAllocationResource": {
+ "type": "object",
+ "description": "Common values for resources for cost allocation",
+ "required": [
+ "resourceType",
+ "name"
+ ],
+ "properties": {
+ "resourceType": {
+ "description": "Type of resources contained in this cost allocation rule",
+ "$ref": "#/definitions/CostAllocationResourceType"
+ },
+ "name": {
+ "description": "If resource type is dimension, this must be either ResourceGroupName or SubscriptionId. If resource type is tag, this must be a valid Azure tag",
+ "type": "string"
+ }
+ }
+ },
+ "SourceCostAllocationResource": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/CostAllocationResource"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "values": {
+ "description": "Source Resources for cost allocation. This list cannot contain more than 25 values.",
+ "type": "array",
+ "items": {
+ "description": "Source resource for cost allocation",
+ "type": "string"
+ }
+ }
+ },
+ "required": [
+ "values"
+ ]
+ }
+ ],
+ "description": "Source resources for cost allocation"
+ },
+ "TargetCostAllocationResource": {
+ "description": "Target resources for cost allocation.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CostAllocationResource"
+ },
+ {
+ "type": "object",
+ "properties": {
+ "values": {
+ "description": "Target resources for cost allocation. This list cannot contain more than 25 values.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CostAllocationProportion"
+ }
+ },
+ "policyType": {
+ "description": "Method of cost allocation for the rule",
+ "$ref": "#/definitions/CostAllocationPolicyType"
+ }
+ },
+ "required": [
+ "values",
+ "policyType"
+ ]
+ }
+ ]
+ },
+ "CostAllocationResourceType": {
+ "type": "string",
+ "description": "Category of resource to use for allocation.",
+ "enum": [
+ "Dimension",
+ "Tag"
+ ],
+ "x-ms-enum": {
+ "name": "CostAllocationResourceType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Dimension",
+ "description": "Indicates an Azure dimension such as a subscription id or resource group name is being used for allocation.",
+ "name": "Dimension"
+ },
+ {
+ "value": "Tag",
+ "description": "Allocates cost based on Azure Tag key value pairs.",
+ "name": "Tag"
+ }
+ ]
+ }
+ },
+ "CostAllocationProportion": {
+ "type": "object",
+ "description": "Target resources and allocation",
+ "required": [
+ "percentage",
+ "name"
+ ],
+ "properties": {
+ "name": {
+ "description": "Target resource for cost allocation",
+ "type": "string"
+ },
+ "percentage": {
+ "description": "Percentage of source cost to allocate to this resource. This value can be specified to two decimal places and the total percentage of all resources in this rule must sum to 100.00.",
+ "type": "number"
+ }
+ }
+ },
+ "CostAllocationPolicyType": {
+ "type": "string",
+ "description": "Method to use for allocating cost. FixedProportion indicates that cost will be split based on specified percentage values.",
+ "enum": [
+ "FixedProportion"
+ ],
+ "x-ms-enum": {
+ "name": "CostAllocationPolicyType",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request (e.g. '2020-06-01')."
+ },
+ "billingAccountIdParameter": {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "BillingAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "ruleNameParameter": {
+ "name": "ruleName",
+ "in": "path",
+ "description": "Cost allocation rule name. The name cannot include spaces or any non alphanumeric characters other than '_' and '-'. The max length is 260 characters.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json
new file mode 100644
index 000000000000..01dce08d0ffc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCheckNameAvailability.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "costAllocationRuleCheckNameAvailabilityRequest": {
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": false,
+ "reason": "AlreadyExists",
+ "message": "A cost allocation rule with name testRule is already present for the billing account 100. Please specify a differnt name."
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json
new file mode 100644
index 000000000000..82d5cefa2b2e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreate.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "ruleName": "testRule",
+ "costAllocationRule": {
+ "properties": {
+ "description": "This is a testRule",
+ "status": "Active",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG",
+ "secondRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 45
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 54
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a testRule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "Creating",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 50
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 50
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json
new file mode 100644
index 000000000000..87edfcec150c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleCreateTag.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "ruleName": "testRule",
+ "costAllocationRule": {
+ "properties": {
+ "description": "This is a testRule",
+ "status": "Active",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Tag",
+ "name": "category",
+ "values": [
+ "devops"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 33.33
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 33.33
+ },
+ {
+ "name": "destinationRG3",
+ "percentage": 33.34
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a testRule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "Creating",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 50
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 50
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json
new file mode 100644
index 000000000000..3a796c1a47b5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleDelete.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "ruleName": "testRule"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json
new file mode 100644
index 000000000000..c2e38a9710ed
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRuleGet.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100",
+ "ruleName": "testRule"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a testRule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "NotActive",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 50
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 50
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json
new file mode 100644
index 000000000000..96642fa6fdb5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/preview/2020-03-01-preview/examples/CostAllocationRulesList.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01-preview",
+ "billingAccountId": "100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule",
+ "name": "testRule",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a testRule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "NotActive",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "ResourceGroupName",
+ "values": [
+ "sampleRG"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "destinationRG",
+ "percentage": 50
+ },
+ {
+ "name": "destinationRG2",
+ "percentage": 50
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule2",
+ "name": "testRule2",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a second test Rule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "Active",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Dimension",
+ "name": "SubscriptionId",
+ "values": [
+ "2A002F2D-536F-4D7C-90DA-3D0BAE879B0E"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Tag",
+ "policyType": "FixedProportion",
+ "name": "category",
+ "values": [
+ {
+ "name": "devops",
+ "percentage": 100
+ }
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/costAllocationRules/testRule3",
+ "name": "testRule3",
+ "type": "Microsoft.CostManagement/costAllocationRules",
+ "properties": {
+ "description": "This is a third test Rule",
+ "createdDate": "2020-06-18T22:21:51.1287144Z",
+ "updatedDate": "2020-06-18T22:21:51.1287144Z",
+ "status": "Active",
+ "details": {
+ "sourceResources": [
+ {
+ "resourceType": "Tag",
+ "name": "category",
+ "values": [
+ "devops"
+ ]
+ }
+ ],
+ "targetResources": [
+ {
+ "resourceType": "Dimension",
+ "policyType": "FixedProportion",
+ "name": "ResourceGroupName",
+ "values": [
+ {
+ "name": "ResourceGroup",
+ "percentage": 55.55
+ },
+ {
+ "name": "ResourceGroupSecond",
+ "percentage": 44.45
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
new file mode 100644
index 000000000000..b08ae42f80d7
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
@@ -0,0 +1,3324 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-06-01",
+ "title": "CostManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.CostManagement/views": {
+ "get": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_List",
+ "description": "Lists all views by tenant and object.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "PrivateViewList": {
+ "$ref": "./examples/PrivateViewList.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ViewListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/views": {
+ "get": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_ListByScope",
+ "description": "Lists all views at the given scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupViewList": {
+ "$ref": "./examples/ViewListByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeViewParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ViewListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/views/{viewName}": {
+ "get": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_Get",
+ "description": "Gets the view by view name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "PrivateView": {
+ "$ref": "./examples/PrivateView.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_CreateOrUpdate",
+ "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "CreateOrUpdatePrivateView": {
+ "$ref": "./examples/PrivateViewCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/View"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate View operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_Delete",
+ "description": "The operation to delete a view.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "DeletePrivateView": {
+ "$ref": "./examples/PrivateViewDelete.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "204": {
+ "description": "NoContent. Resource is not available."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/views/{viewName}": {
+ "get": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_GetByScope",
+ "description": "Gets the view for the defined scope by view name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupView": {
+ "$ref": "./examples/ViewByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeViewParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_CreateOrUpdateByScope",
+ "description": "The operation to create or update a view. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupCreateOrUpdateView": {
+ "$ref": "./examples/ViewCreateOrUpdateByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeViewParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/View"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate View operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Views"
+ ],
+ "operationId": "Views_DeleteByScope",
+ "description": "The operation to delete a view.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ResourceGroupDeleteView": {
+ "$ref": "./examples/ViewDeleteByResourceGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeViewParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/viewNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "204": {
+ "description": "NoContent. Resource is not available."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_List",
+ "description": "Lists the alerts for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "BillingAccountAlerts": {
+ "$ref": "./examples/BillingAccountAlerts.json"
+ },
+ "BillingProfileAlerts": {
+ "$ref": "./examples/BillingProfileAlerts.json"
+ },
+ "InvoiceSectionAlerts": {
+ "$ref": "./examples/InvoiceSectionAlerts.json"
+ },
+ "EnrollmentAccountAlerts": {
+ "$ref": "./examples/EnrollmentAccountAlerts.json"
+ },
+ "DepartmentAlerts": {
+ "$ref": "./examples/DepartmentAlerts.json"
+ },
+ "SubscriptionAlerts": {
+ "$ref": "./examples/SubscriptionAlerts.json"
+ },
+ "ResourceGroupAlerts": {
+ "$ref": "./examples/ResourceGroupAlerts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeAlertParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AlertsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/alerts/{alertId}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_Get",
+ "description": "Gets the alert for the scope by alert ID.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionAlerts": {
+ "$ref": "./examples/SingleSubscriptionAlert.json"
+ },
+ "ResourceGroupAlerts": {
+ "$ref": "./examples/SingleResourceGroupAlert.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeAlertParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_Dismiss",
+ "description": "Dismisses the specified alert",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionAlerts": {
+ "$ref": "./examples/DismissSubscriptionAlerts.json"
+ },
+ "ResourceGroupAlerts": {
+ "$ref": "./examples/DismissResourceGroupAlerts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeAlertParameter"
+ },
+ {
+ "$ref": "#/parameters/alertIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DismissAlertPayload"
+ },
+ "description": "Parameters supplied to the Dismiss Alert operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "operationId": "Alerts_ListExternal",
+ "description": "Lists the Alerts for external cloud provider type defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountAlerts": {
+ "$ref": "./examples/ExternalBillingAccountAlerts.json"
+ },
+ "ExternalSubscriptionAlerts": {
+ "$ref": "./examples/ExternalSubscriptionAlerts.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/AlertsResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_Usage",
+ "description": "Lists the forecast charges for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "BillingAccountForecast": {
+ "$ref": "./examples/BillingAccountForecast.json"
+ },
+ "BillingProfileForecast": {
+ "$ref": "./examples/BillingProfileForecast.json"
+ },
+ "InvoiceSectionForecast": {
+ "$ref": "./examples/InvoiceSectionForecast.json"
+ },
+ "EnrollmentAccountForecast": {
+ "$ref": "./examples/EnrollmentAccountForecast.json"
+ },
+ "DepartmentForecast": {
+ "$ref": "./examples/DepartmentForecast.json"
+ },
+ "SubscriptionForecast": {
+ "$ref": "./examples/SubscriptionForecast.json"
+ },
+ "ResourceGroupForecast": {
+ "$ref": "./examples/ResourceGroupForecast.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/scopeForecastParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ForecastDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/forecast": {
+ "post": {
+ "tags": [
+ "Forecast"
+ ],
+ "operationId": "Forecast_ExternalCloudProviderUsage",
+ "description": "Lists the forecast charges for external cloud provider type defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountForecast": {
+ "$ref": "./examples/ExternalBillingAccountForecast.json"
+ },
+ "ExternalSubscriptionForecast": {
+ "$ref": "./examples/ExternalSubscriptionForecast.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "$filter",
+ "description": "May be used to filter forecasts by properties/usageDate (Utc time), properties/chargeType or properties/grain. The filter supports 'eq', 'lt', 'gt', 'le', 'ge', and 'and'. It does not currently support 'ne', 'or', or 'not'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ForecastDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Forecast Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_List",
+ "description": "Lists the dimensions by the defined scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionDimensionsList-Legacy": {
+ "$ref": "./examples/SubscriptionDimensionsList.json"
+ },
+ "ResourceGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ResourceGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsList-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsList.json"
+ },
+ "ManagementGroupDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListExpandAndTop.json"
+ },
+ "ManagementGroupDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/ManagementGroupDimensionsListWithFilter.json"
+ },
+ "DepartmentDimensionsList-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsList.json"
+ },
+ "DepartmentDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListExpandAndTop.json"
+ },
+ "DepartmentDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/DepartmentDimensionsListWithFilter.json"
+ },
+ "EnrollmentAccountDimensionsList-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsList.json"
+ },
+ "EnrollmentAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListExpandAndTop.json"
+ },
+ "EnrollmentAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/EnrollmentAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Legacy": {
+ "$ref": "./examples/BillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingAccountDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsList.json"
+ },
+ "BillingAccountDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListExpandAndTop.json"
+ },
+ "BillingAccountDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingAccountDimensionsListWithFilter.json"
+ },
+ "BillingProfileDimensionsList-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsList.json"
+ },
+ "BillingProfileDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListExpandAndTop.json"
+ },
+ "BillingProfileDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCABillingProfileDimensionsListWithFilter.json"
+ },
+ "InvoiceSectionDimensionsList-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsList.json"
+ },
+ "InvoiceSectionDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListExpandAndTop.json"
+ },
+ "InvoiceSectionDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionDimensionsListWithFilter.json"
+ },
+ "CustomerDimensionsList-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsList.json"
+ },
+ "CustomerDimensionsListExpandAndTop-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListExpandAndTop.json"
+ },
+ "CustomerDimensionsListWithFilter-Modern": {
+ "$ref": "./examples/MCACustomerDimensionsListWithFilter.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeDimensionParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/dimensions": {
+ "get": {
+ "tags": [
+ "Dimensions"
+ ],
+ "x-ms-odata": "#/definitions/Dimension",
+ "operationId": "Dimensions_ByExternalCloudProviderType",
+ "description": "Lists the dimensions by the external cloud provider type.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountDimensionList": {
+ "$ref": "./examples/ExternalBillingAccountsDimensions.json"
+ },
+ "ExternalSubscriptionDimensionList": {
+ "$ref": "./examples/ExternalSubscriptionsDimensions.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "description": "May be used to filter dimensions by properties/category, properties/usageStart, properties/usageEnd. Supported operators are 'eq','lt', 'gt', 'le', 'ge'.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties/data within a dimension category. By default, data is not included when listing dimensions.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$skiptoken",
+ "description": "Skiptoken is only used if a previous operation returned a partial result. If a previous response contains a nextLink element, the value of the nextLink element will include a skiptoken parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N dimension data.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/DimensionsListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_Usage",
+ "description": "Query the usage data for scope defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "SubscriptionQuery-Legacy": {
+ "$ref": "./examples/SubscriptionQuery.json"
+ },
+ "SubscriptionQueryGrouping-Legacy": {
+ "$ref": "./examples/SubscriptionQueryGrouping.json"
+ },
+ "ResourceGroupQuery-Legacy": {
+ "$ref": "./examples/ResourceGroupQuery.json"
+ },
+ "ResourceGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ResourceGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Legacy": {
+ "$ref": "./examples/BillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/BillingAccountQueryGrouping.json"
+ },
+ "EnrollmentAccountQuery-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQuery.json"
+ },
+ "EnrollmentAccountQueryGrouping-Legacy": {
+ "$ref": "./examples/EnrollmentAccountQueryGrouping.json"
+ },
+ "DepartmentQuery-Legacy": {
+ "$ref": "./examples/DepartmentQuery.json"
+ },
+ "DepartmentQueryGrouping-Legacy": {
+ "$ref": "./examples/DepartmentQueryGrouping.json"
+ },
+ "ManagementGroupQuery-Legacy": {
+ "$ref": "./examples/ManagementGroupQuery.json"
+ },
+ "ManagementGroupQueryGrouping-Legacy": {
+ "$ref": "./examples/ManagementGroupQueryGrouping.json"
+ },
+ "BillingAccountQuery-Modern": {
+ "$ref": "./examples/MCABillingAccountQuery.json"
+ },
+ "BillingAccountQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingAccountQueryGrouping.json"
+ },
+ "BillingProfileQuery-Modern": {
+ "$ref": "./examples/MCABillingProfileQuery.json"
+ },
+ "BillingProfileQueryGrouping-Modern": {
+ "$ref": "./examples/MCABillingProfileQueryGrouping.json"
+ },
+ "InvoiceSectionQuery-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQuery.json"
+ },
+ "InvoiceSectionQueryGrouping-Modern": {
+ "$ref": "./examples/MCAInvoiceSectionQueryGrouping.json"
+ },
+ "CustomerQuery-Modern": {
+ "$ref": "./examples/MCACustomerQuery.json"
+ },
+ "CustomerQueryGrouping-Modern": {
+ "$ref": "./examples/MCACustomerQueryGrouping.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Query Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/{externalCloudProviderType}/{externalCloudProviderId}/query": {
+ "post": {
+ "tags": [
+ "Query"
+ ],
+ "operationId": "Query_UsageByExternalCloudProviderType",
+ "description": "Query the usage data for external cloud provider type defined.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExternalBillingAccountQueryList": {
+ "$ref": "./examples/ExternalBillingAccountsQuery.json"
+ },
+ "ExternalSubscriptionsQuery": {
+ "$ref": "./examples/ExternalSubscriptionsQuery.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/externalCloudProviderTypeParameter"
+ },
+ {
+ "$ref": "#/parameters/externalCloudProviderIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/QueryDefinition"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Query Config operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/QueryResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_List",
+ "description": "The operation to list all exports at the given scope.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportsGetBySubscription": {
+ "$ref": "./examples/ExportsGetBySubscription.json"
+ },
+ "ExportsGetByResourceGroup": {
+ "$ref": "./examples/ExportsGetByResourceGroup.json"
+ },
+ "ExportsGetByBillingAccount": {
+ "$ref": "./examples/ExportsGetByBillingAccount.json"
+ },
+ "ExportsGetByDepartment": {
+ "$ref": "./examples/ExportsGetByDepartment.json"
+ },
+ "ExportsGetByEnrollmentAccount": {
+ "$ref": "./examples/ExportsGetByEnrollmentAccount.json"
+ },
+ "ExportsGetByManagementGroup": {
+ "$ref": "./examples/ExportsGetByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersion20200601Parameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last execution of each export.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Get",
+ "description": "The operation to get the export for the defined scope by export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportGetBySubscription": {
+ "$ref": "./examples/ExportGetBySubscription.json"
+ },
+ "ExportGetByResourceGroup": {
+ "$ref": "./examples/ExportGetByResourceGroup.json"
+ },
+ "ExportGetByBillingAccount": {
+ "$ref": "./examples/ExportGetByBillingAccount.json"
+ },
+ "ExportGetByDepartment": {
+ "$ref": "./examples/ExportGetByDepartment.json"
+ },
+ "ExportGetByEnrollmentAccount": {
+ "$ref": "./examples/ExportGetByEnrollmentAccount.json"
+ },
+ "ExportGetByManagementGroup": {
+ "$ref": "./examples/ExportGetByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersion20200601Parameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ },
+ {
+ "name": "$expand",
+ "description": "May be used to expand the properties within an export. Currently only 'runHistory' is supported and will return information for the last 10 executions of the export.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_CreateOrUpdate",
+ "description": "The operation to create or update a export. Update operation requires latest eTag to be set in the request. You may obtain the latest eTag by performing a get operation. Create operation does not require eTag.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportCreateOrUpdateBySubscription": {
+ "$ref": "./examples/ExportCreateOrUpdateBySubscription.json"
+ },
+ "ExportCreateOrUpdateByResourceGroup": {
+ "$ref": "./examples/ExportCreateOrUpdateByResourceGroup.json"
+ },
+ "ExportCreateOrUpdateByBillingAccount": {
+ "$ref": "./examples/ExportCreateOrUpdateByBillingAccount.json"
+ },
+ "ExportCreateOrUpdateByDepartment": {
+ "$ref": "./examples/ExportCreateOrUpdateByDepartment.json"
+ },
+ "ExportCreateOrUpdateByEnrollmentAccount": {
+ "$ref": "./examples/ExportCreateOrUpdateByEnrollmentAccount.json"
+ },
+ "ExportCreateOrUpdateByManagementGroup": {
+ "$ref": "./examples/ExportCreateOrUpdateByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersion20200601Parameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Export"
+ },
+ "description": "Parameters supplied to the CreateOrUpdate Export operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "201": {
+ "description": "Created.",
+ "schema": {
+ "$ref": "#/definitions/Export"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Delete",
+ "description": "The operation to delete a export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportDeleteBySubscription": {
+ "$ref": "./examples/ExportDeleteBySubscription.json"
+ },
+ "ExportDeleteByResourceGroup": {
+ "$ref": "./examples/ExportDeleteByResourceGroup.json"
+ },
+ "ExportDeleteByBillingAccount": {
+ "$ref": "./examples/ExportDeleteByBillingAccount.json"
+ },
+ "ExportDeleteByEnrollmentAccount": {
+ "$ref": "./examples/ExportDeleteByEnrollmentAccount.json"
+ },
+ "ExportDeleteByDepartment": {
+ "$ref": "./examples/ExportDeleteByDepartment.json"
+ },
+ "ExportDeleteByManagementGroup": {
+ "$ref": "./examples/ExportDeleteByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersion20200601Parameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/run": {
+ "post": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_Execute",
+ "description": "The operation to execute an export.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportRunBySubscription": {
+ "$ref": "./examples/ExportRunBySubscription.json"
+ },
+ "ExportRunByResourceGroup": {
+ "$ref": "./examples/ExportRunByResourceGroup.json"
+ },
+ "ExportRunByBillingAccount": {
+ "$ref": "./examples/ExportRunByBillingAccount.json"
+ },
+ "ExportRunByDepartment": {
+ "$ref": "./examples/ExportRunByDepartment.json"
+ },
+ "ExportRunByEnrollmentAccount": {
+ "$ref": "./examples/ExportRunByEnrollmentAccount.json"
+ },
+ "ExportRunByManagementGroup": {
+ "$ref": "./examples/ExportRunByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersion20200601Parameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/{scope}/providers/Microsoft.CostManagement/exports/{exportName}/runHistory": {
+ "get": {
+ "tags": [
+ "Exports"
+ ],
+ "operationId": "Exports_GetExecutionHistory",
+ "description": "The operation to get the execution history of an export for the defined scope and export name.",
+ "externalDocs": {
+ "url": "https://docs.microsoft.com/en-us/rest/api/costmanagement/"
+ },
+ "x-ms-examples": {
+ "ExportRunHistoryGetBySubscription": {
+ "$ref": "./examples/ExportRunHistoryGetBySubscription.json"
+ },
+ "ExportRunHistoryGetByResourceGroup": {
+ "$ref": "./examples/ExportRunHistoryGetByResourceGroup.json"
+ },
+ "ExportRunHistoryGetByBillingAccount": {
+ "$ref": "./examples/ExportRunHistoryGetByBillingAccount.json"
+ },
+ "ExportRunHistoryGetByDepartment": {
+ "$ref": "./examples/ExportRunHistoryGetByDepartment.json"
+ },
+ "ExportRunHistoryGetByEnrollmentAccount": {
+ "$ref": "./examples/ExportRunHistoryGetByEnrollmentAccount.json"
+ },
+ "ExportRunHistoryGetByManagementGroup": {
+ "$ref": "./examples/ExportRunHistoryGetByManagementGroup.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/scopeQueryParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersion20200601Parameter"
+ },
+ {
+ "$ref": "#/parameters/exportNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/ExportExecutionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.CostManagement/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Lists all of the available cost management REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ }
+ },
+ "definitions": {
+ "ReportConfigDefinition": {
+ "description": "The definition of a report config.",
+ "properties": {
+ "type": {
+ "description": "The type of the report. Usage represents actual usage, forecast represents forecasted data and UsageAndForecast represents both usage and forecasted data. Actual usage and forecasted data can be differentiated based on dates.",
+ "type": "string",
+ "enum": [
+ "Usage"
+ ],
+ "x-ms-enum": {
+ "name": "ReportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the report. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "WeekToDate",
+ "MonthToDate",
+ "YearToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ReportTimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the report.",
+ "$ref": "#/definitions/ReportConfigTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this report config.",
+ "$ref": "#/definitions/ReportConfigDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "ReportConfigTimePeriod": {
+ "description": "The start and end date for pulling data for the report.",
+ "properties": {
+ "from": {
+ "description": "The start date to pull data from.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date to pull data to.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "ReportConfigDataset": {
+ "description": "The definition of data present in the report.",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the report.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Monthly"
+ ],
+ "x-ms-enum": {
+ "name": "ReportGranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the report. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/ReportConfigDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the report. The key of each item in the dictionary is the alias for the aggregated column. Report can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/ReportConfigAggregation"
+ },
+ "maxItems": 2
+ },
+ "grouping": {
+ "description": "Array of group by expression to use in the report. Report can have up to 2 group by clauses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigGrouping"
+ },
+ "maxItems": 2
+ },
+ "sorting": {
+ "description": "Array of order by expression to use in the report.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigSorting"
+ }
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the report.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ }
+ }
+ },
+ "ReportConfigDatasetConfiguration": {
+ "description": "The configuration of dataset in the report.",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the report. Any valid report column name is allowed. If not provided, then report includes all columns.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ReportConfigAggregation": {
+ "description": "The aggregation expression to be used in the report.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to aggregate.",
+ "type": "string"
+ },
+ "function": {
+ "description": "The name of the aggregation function to use.",
+ "type": "string",
+ "enum": [
+ "Sum"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "function"
+ ]
+ },
+ "ReportConfigSorting": {
+ "description": "The order by expression to be used in the report.",
+ "properties": {
+ "direction": {
+ "description": "Direction of sort.",
+ "type": "string",
+ "enum": [
+ "Ascending",
+ "Descending"
+ ]
+ },
+ "name": {
+ "description": "The name of the column to sort.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "ReportConfigGrouping": {
+ "description": "The group by expression to be used in the report.",
+ "properties": {
+ "type": {
+ "description": "Has type of the column to group.",
+ "$ref": "#/definitions/ReportConfigColumnType"
+ },
+ "name": {
+ "description": "The name of the column to group. This version supports subscription lowest possible grain.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "ReportConfigFilter": {
+ "description": "The filter expression to be used in the report.",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "or": {
+ "description": "The logical \"OR\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "minItems": 2
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/ReportConfigFilter"
+ },
+ "dimension": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ },
+ "tag": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/ReportConfigComparisonExpression"
+ }
+ }
+ },
+ "ReportConfigColumnType": {
+ "description": "The type of the column in the report.",
+ "type": "string",
+ "enum": [
+ "Tag",
+ "Dimension"
+ ],
+ "x-ms-enum": {
+ "name": "ReportConfigColumnType",
+ "modelAsString": true
+ }
+ },
+ "ReportConfigComparisonExpression": {
+ "description": "The comparison expression to be used in the report.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to use in comparison.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The operator to use for comparison.",
+ "type": "string",
+ "enum": [
+ "In",
+ "Contains"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ },
+ "ViewListResult": {
+ "description": "Result of listing views. It contains a list of available views.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of views.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/View"
+ }
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "View": {
+ "description": "States and configurations of Cost Analysis.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ViewProperties",
+ "title": "View properties"
+ }
+ }
+ },
+ "ViewProperties": {
+ "type": "object",
+ "description": "The properties of the view.",
+ "properties": {
+ "displayName": {
+ "description": "User input name of the view. Required.",
+ "type": "string"
+ },
+ "scope": {
+ "description": "Cost Management scope to save the view on. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for ExternalBillingAccount scope, and '/providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for ExternalSubscription scope.",
+ "type": "string"
+ },
+ "createdOn": {
+ "description": "Date the user created this view.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "modifiedOn": {
+ "description": "Date when the user last modified this view.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ },
+ "query": {
+ "description": "Query body configuration. Required.",
+ "type": "object",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ReportConfigDefinition"
+ },
+ "chart": {
+ "description": "Chart type of the main view in Cost Analysis. Required.",
+ "type": "string",
+ "enum": [
+ "Area",
+ "Line",
+ "StackedColumn",
+ "GroupedColumn",
+ "Table"
+ ],
+ "x-ms-enum": {
+ "name": "ChartType",
+ "modelAsString": true
+ }
+ },
+ "accumulated": {
+ "description": "Show costs accumulated over time.",
+ "type": "string",
+ "enum": [
+ "true",
+ "false"
+ ],
+ "x-ms-enum": {
+ "name": "AccumulatedType",
+ "modelAsString": true
+ }
+ },
+ "metric": {
+ "description": "Metric to use when displaying costs.",
+ "type": "string",
+ "enum": [
+ "ActualCost",
+ "AmortizedCost",
+ "AHUB"
+ ],
+ "x-ms-enum": {
+ "name": "MetricType",
+ "modelAsString": true
+ }
+ },
+ "kpis": {
+ "description": "List of KPIs to show in Cost Analysis UI.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KpiProperties"
+ }
+ },
+ "pivots": {
+ "description": "Configuration of 3 sub-views in the Cost Analysis UI.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PivotProperties"
+ }
+ }
+ }
+ },
+ "KpiProperties": {
+ "description": "Each KPI must contain a 'type' and 'enabled' key.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "KPI type (Forecast, Budget).",
+ "type": "string",
+ "enum": [
+ "Forecast",
+ "Budget"
+ ],
+ "x-ms-enum": {
+ "name": "KpiTypeType",
+ "modelAsString": true
+ }
+ },
+ "id": {
+ "description": "ID of resource related to metric (budget).",
+ "type": "string"
+ },
+ "enabled": {
+ "description": "show the KPI in the UI?",
+ "type": "boolean"
+ }
+ }
+ },
+ "PivotProperties": {
+ "description": "Each pivot must contain a 'type' and 'name'.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "Data type to show in view.",
+ "type": "string",
+ "enum": [
+ "Dimension",
+ "TagKey"
+ ],
+ "x-ms-enum": {
+ "name": "PivotTypeType",
+ "modelAsString": true
+ }
+ },
+ "name": {
+ "description": "Data field to show in view.",
+ "type": "string"
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "The details of the error.",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates that the service is not able to process the incoming request. The reason is provided in the error message. \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"
+ }
+ }
+ },
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "tags": {
+ "readOnly": true,
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ProxyResource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "eTag": {
+ "type": "string",
+ "description": "eTag of the resource. To handle concurrent update scenario, this field will be used to determine whether the user is updating the latest version or not."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DimensionsListResult": {
+ "description": "Result of listing dimensions. It contains a list of available dimensions.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of dimensions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Dimension"
+ }
+ }
+ }
+ },
+ "Dimension": {
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DimensionProperties",
+ "title": "Dimension properties"
+ }
+ }
+ },
+ "DimensionProperties": {
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Dimension description.",
+ "type": "string",
+ "readOnly": true
+ },
+ "filterEnabled": {
+ "description": "Filter enabled.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "groupingEnabled": {
+ "description": "Grouping enabled.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "data": {
+ "type": "array",
+ "items": {
+ "description": "Dimension data item.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "total": {
+ "description": "Total number of data for the dimension.",
+ "format": "int32",
+ "type": "integer",
+ "readOnly": true
+ },
+ "category": {
+ "description": "Dimension category.",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageStart": {
+ "description": "Usage start.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "usageEnd": {
+ "description": "Usage end.",
+ "format": "date-time",
+ "type": "string",
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertsResult": {
+ "description": "Result of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of alerts.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of alerts results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Alert": {
+ "description": "An individual alert.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AlertProperties",
+ "title": "Alert properties"
+ }
+ }
+ },
+ "AlertProperties": {
+ "type": "object",
+ "properties": {
+ "definition": {
+ "description": "defines the type of alert",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "type of alert",
+ "type": "string",
+ "enum": [
+ "Budget",
+ "Invoice",
+ "Credit",
+ "Quota",
+ "General",
+ "xCloud",
+ "BudgetForecast"
+ ],
+ "x-ms-enum": {
+ "name": "AlertType",
+ "modelAsString": true
+ }
+ },
+ "category": {
+ "description": "Alert category",
+ "type": "string",
+ "enum": [
+ "Cost",
+ "Usage",
+ "Billing",
+ "System"
+ ],
+ "x-ms-enum": {
+ "name": "AlertCategory",
+ "modelAsString": true
+ }
+ },
+ "criteria": {
+ "description": "Criteria that triggered alert",
+ "type": "string",
+ "enum": [
+ "CostThresholdExceeded",
+ "UsageThresholdExceeded",
+ "CreditThresholdApproaching",
+ "CreditThresholdReached",
+ "QuotaThresholdApproaching",
+ "QuotaThresholdReached",
+ "MultiCurrency",
+ "ForecastCostThresholdExceeded",
+ "ForecastUsageThresholdExceeded",
+ "InvoiceDueDateApproaching",
+ "InvoiceDueDateReached",
+ "CrossCloudNewDataAvailable",
+ "CrossCloudCollectionError",
+ "GeneralThresholdError"
+ ],
+ "x-ms-enum": {
+ "name": "AlertCriteria",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "description": {
+ "description": "Alert description",
+ "type": "string"
+ },
+ "source": {
+ "description": "Source of alert",
+ "type": "string",
+ "enum": [
+ "Preset",
+ "User"
+ ],
+ "x-ms-enum": {
+ "name": "AlertSource",
+ "modelAsString": true
+ }
+ },
+ "details": {
+ "description": "Alert details",
+ "type": "object",
+ "properties": {
+ "timeGrainType": {
+ "description": "Type of timegrain cadence",
+ "type": "string",
+ "enum": [
+ "None",
+ "Monthly",
+ "Quarterly",
+ "Annually",
+ "BillingMonth",
+ "BillingQuarter",
+ "BillingAnnual"
+ ],
+ "x-ms-enum": {
+ "name": "AlertTimeGrainType",
+ "modelAsString": true
+ }
+ },
+ "periodStartDate": {
+ "description": "datetime of periodStartDate",
+ "type": "string"
+ },
+ "triggeredBy": {
+ "description": "notificationId that triggered this alert",
+ "type": "string"
+ },
+ "resourceGroupFilter": {
+ "description": "array of resourceGroups to filter by",
+ "type": "array",
+ "items": {}
+ },
+ "resourceFilter": {
+ "description": "array of resources to filter by",
+ "type": "array",
+ "items": {}
+ },
+ "meterFilter": {
+ "description": "array of meters to filter by",
+ "type": "array",
+ "items": {}
+ },
+ "tagFilter": {
+ "description": "tags to filter by",
+ "type": "object",
+ "properties": {}
+ },
+ "threshold": {
+ "description": "notification threshold percentage as a decimal which activated this alert",
+ "type": "number",
+ "format": "decimal"
+ },
+ "operator": {
+ "description": "operator used to compare currentSpend with amount",
+ "type": "string",
+ "enum": [
+ "None",
+ "EqualTo",
+ "GreaterThan",
+ "GreaterThanOrEqualTo",
+ "LessThan",
+ "LessThanOrEqualTo"
+ ],
+ "x-ms-enum": {
+ "name": "AlertOperator",
+ "modelAsString": true
+ }
+ },
+ "amount": {
+ "description": "budget threshold amount",
+ "type": "number",
+ "format": "decimal"
+ },
+ "unit": {
+ "description": "unit of currency being used",
+ "type": "string"
+ },
+ "currentSpend": {
+ "description": "current spend",
+ "type": "number",
+ "format": "decimal"
+ },
+ "contactEmails": {
+ "description": "list of emails to contact",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "contactGroups": {
+ "description": "list of action groups to broadcast to",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "contactRoles": {
+ "description": "list of contact roles",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "overridingAlert": {
+ "description": "overriding alert",
+ "type": "string"
+ }
+ }
+ },
+ "costEntityId": {
+ "description": "related budget",
+ "type": "string"
+ },
+ "status": {
+ "description": "alert status",
+ "type": "string",
+ "enum": [
+ "None",
+ "Active",
+ "Overridden",
+ "Resolved",
+ "Dismissed"
+ ],
+ "x-ms-enum": {
+ "name": "AlertStatus",
+ "modelAsString": true
+ }
+ },
+ "creationTime": {
+ "description": "dateTime in which alert was created",
+ "type": "string"
+ },
+ "closeTime": {
+ "description": "dateTime in which alert was closed",
+ "type": "string"
+ },
+ "modificationTime": {
+ "description": "dateTime in which alert was last modified",
+ "type": "string"
+ },
+ "statusModificationUserName": {
+ "description": "",
+ "type": "string"
+ },
+ "statusModificationTime": {
+ "description": "dateTime in which the alert status was last modified",
+ "type": "string"
+ }
+ }
+ },
+ "DismissAlertPayload": {
+ "description": "The request payload to update an alert",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AlertProperties",
+ "title": "Alert properties"
+ }
+ }
+ },
+ "QueryResult": {
+ "description": "Result of query. It contains all columns listed under groupings and aggregation.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/QueryProperties",
+ "title": "Query properties"
+ }
+ }
+ },
+ "QueryProperties": {
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The link (url) to the next page of results.",
+ "type": "string"
+ },
+ "columns": {
+ "description": "Array of columns",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryColumn"
+ }
+ },
+ "rows": {
+ "description": "Array of rows",
+ "type": "array",
+ "items": {
+ "type": "array",
+ "items": {}
+ }
+ }
+ }
+ },
+ "QueryColumn": {
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of column.",
+ "type": "string"
+ },
+ "type": {
+ "description": "The type of column.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationListResult": {
+ "description": "Result of listing cost management operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "List of cost management operations supported by the Microsoft.CostManagement resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "URL to get the next set of operation list results if there are any.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "A Cost management REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "description": "Service provider: Microsoft.CostManagement.",
+ "type": "string",
+ "readOnly": true
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed: Dimensions, Query.",
+ "type": "string",
+ "readOnly": true
+ },
+ "operation": {
+ "description": "Operation type: Read, write, delete, etc.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+ },
+ "ForecastDefinition": {
+ "description": "The definition of a forecast.",
+ "properties": {
+ "type": {
+ "description": "The type of the forecast.",
+ "type": "string",
+ "enum": [
+ "Usage",
+ "ActualCost",
+ "AmortizedCost"
+ ],
+ "x-ms-enum": {
+ "name": "ForecastType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the forecast. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "MonthToDate",
+ "BillingMonthToDate",
+ "TheLastMonth",
+ "TheLastBillingMonth",
+ "WeekToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "ForecastTimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the forecast.",
+ "$ref": "#/definitions/QueryTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this forecast.",
+ "$ref": "#/definitions/ForecastDataset"
+ },
+ "includeActualCost": {
+ "description": "a boolean determining if actualCost will be included",
+ "type": "boolean"
+ },
+ "includeFreshPartialCost": {
+ "description": "a boolean determining if FreshPartialCost will be included",
+ "type": "boolean"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "ForecastDataset": {
+ "description": "The definition of data present in the forecast.",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the forecast.",
+ "type": "string",
+ "enum": [
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/QueryDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the forecast. The key of each item in the dictionary is the alias for the aggregated column. forecast can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/QueryAggregation"
+ },
+ "maxItems": 2
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the forecast.",
+ "$ref": "#/definitions/QueryFilter"
+ }
+ }
+ },
+ "QueryDefinition": {
+ "description": "The definition of a query.",
+ "properties": {
+ "type": {
+ "description": "The type of the query.",
+ "type": "string",
+ "enum": [
+ "Usage",
+ "ActualCost",
+ "AmortizedCost"
+ ],
+ "x-ms-enum": {
+ "name": "ExportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the query. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "MonthToDate",
+ "BillingMonthToDate",
+ "TheLastMonth",
+ "TheLastBillingMonth",
+ "WeekToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "TimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the query.",
+ "$ref": "#/definitions/QueryTimePeriod"
+ },
+ "dataset": {
+ "description": "Has definition for data in this query.",
+ "$ref": "#/definitions/QueryDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "QueryTimePeriod": {
+ "description": "The start and end date for pulling data for the query.",
+ "properties": {
+ "from": {
+ "description": "The start date to pull data from.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date to pull data to.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "QueryDataset": {
+ "description": "The definition of data present in the query.",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the query.",
+ "type": "string",
+ "enum": [
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "Has configuration information for the data in the export. The configuration will be ignored if aggregation and grouping are provided.",
+ "$ref": "#/definitions/QueryDatasetConfiguration"
+ },
+ "aggregation": {
+ "type": "object",
+ "description": "Dictionary of aggregation expression to use in the query. The key of each item in the dictionary is the alias for the aggregated column. Query can have up to 2 aggregation clauses.",
+ "additionalProperties": {
+ "type": "object",
+ "$ref": "#/definitions/QueryAggregation"
+ },
+ "maxItems": 2
+ },
+ "grouping": {
+ "description": "Array of group by expression to use in the query. Query can have up to 2 group by clauses.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryGrouping"
+ },
+ "maxItems": 2
+ },
+ "filter": {
+ "type": "object",
+ "description": "Has filter expression to use in the query.",
+ "$ref": "#/definitions/QueryFilter"
+ }
+ }
+ },
+ "QueryDatasetConfiguration": {
+ "description": "The configuration of dataset in the query.",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the query. Any valid query column name is allowed. If not provided, then query includes all columns.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "QueryAggregation": {
+ "description": "The aggregation expression to be used in the query.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to aggregate.",
+ "type": "string"
+ },
+ "function": {
+ "description": "The name of the aggregation function to use.",
+ "type": "string",
+ "enum": [
+ "Sum"
+ ],
+ "x-ms-enum": {
+ "name": "FunctionType",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "name",
+ "function"
+ ]
+ },
+ "QueryGrouping": {
+ "description": "The group by expression to be used in the query.",
+ "properties": {
+ "type": {
+ "description": "Has type of the column to group.",
+ "$ref": "#/definitions/QueryColumnType"
+ },
+ "name": {
+ "description": "The name of the column to group.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "type",
+ "name"
+ ]
+ },
+ "QueryFilter": {
+ "description": "The filter expression to be used in the export.",
+ "properties": {
+ "and": {
+ "description": "The logical \"AND\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "minItems": 2
+ },
+ "or": {
+ "description": "The logical \"OR\" expression. Must have at least 2 items.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "minItems": 2
+ },
+ "not": {
+ "description": "The logical \"NOT\" expression.",
+ "$ref": "#/definitions/QueryFilter"
+ },
+ "dimension": {
+ "description": "Has comparison expression for a dimension",
+ "$ref": "#/definitions/QueryComparisonExpression"
+ },
+ "tag": {
+ "description": "Has comparison expression for a tag",
+ "$ref": "#/definitions/QueryComparisonExpression"
+ }
+ }
+ },
+ "QueryColumnType": {
+ "description": "The type of the column in the export.",
+ "type": "string",
+ "enum": [
+ "Tag",
+ "Dimension"
+ ],
+ "x-ms-enum": {
+ "name": "QueryColumnType",
+ "modelAsString": true
+ }
+ },
+ "QueryComparisonExpression": {
+ "description": "The comparison expression to be used in the query.",
+ "properties": {
+ "name": {
+ "description": "The name of the column to use in comparison.",
+ "type": "string"
+ },
+ "operator": {
+ "description": "The operator to use for comparison.",
+ "type": "string",
+ "enum": [
+ "In"
+ ],
+ "x-ms-enum": {
+ "name": "OperatorType",
+ "modelAsString": true
+ }
+ },
+ "values": {
+ "description": "Array of values to use for comparison",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "minItems": 1
+ }
+ },
+ "required": [
+ "name",
+ "operator",
+ "values"
+ ]
+ },
+ "ExportListResult": {
+ "description": "Result of listing exports. It contains a list of available exports in the scope provided.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of exports.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Export"
+ }
+ }
+ }
+ },
+ "Export": {
+ "description": "An export resource.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExportProperties",
+ "title": "Export properties"
+ }
+ }
+ },
+ "ExportProperties": {
+ "description": "The properties of the export.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CommonExportProperties"
+ }
+ ],
+ "properties": {
+ "schedule": {
+ "description": "Has schedule information for the export.",
+ "$ref": "#/definitions/ExportSchedule"
+ }
+ }
+ },
+ "CommonExportProperties": {
+ "description": "The common properties of the export.",
+ "type": "object",
+ "properties": {
+ "format": {
+ "description": "The format of the export being delivered. Currently only 'Csv' is supported.",
+ "type": "string",
+ "enum": [
+ "Csv"
+ ],
+ "x-ms-enum": {
+ "name": "FormatType",
+ "modelAsString": true
+ }
+ },
+ "deliveryInfo": {
+ "description": "Has delivery information for the export.",
+ "$ref": "#/definitions/ExportDeliveryInfo"
+ },
+ "definition": {
+ "description": "Has the definition for the export.",
+ "$ref": "#/definitions/ExportDefinition"
+ },
+ "runHistory": {
+ "description": "If requested, has the most recent execution history for the export.",
+ "$ref": "#/definitions/ExportExecutionListResult"
+ },
+ "nextRunTimeEstimate": {
+ "description": "If the export has an active schedule, provides an estimate of the next execution time.",
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true
+ }
+ },
+ "required": [
+ "deliveryInfo",
+ "definition"
+ ]
+ },
+ "ExportSchedule": {
+ "description": "The schedule associated with the export.",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of the export's schedule. If 'Inactive', the export's schedule is paused.",
+ "type": "string",
+ "enum": [
+ "Active",
+ "Inactive"
+ ],
+ "x-ms-enum": {
+ "name": "StatusType",
+ "modelAsString": true
+ }
+ },
+ "recurrence": {
+ "description": "The schedule recurrence.",
+ "type": "string",
+ "enum": [
+ "Daily",
+ "Weekly",
+ "Monthly",
+ "Annually"
+ ],
+ "x-ms-enum": {
+ "name": "RecurrenceType",
+ "modelAsString": true
+ }
+ },
+ "recurrencePeriod": {
+ "description": "Has start and end date of the recurrence. The start date must be in future. If present, the end date must be greater than start date.",
+ "$ref": "#/definitions/ExportRecurrencePeriod"
+ }
+ },
+ "required": [
+ "recurrence"
+ ]
+ },
+ "ExportDeliveryInfo": {
+ "description": "The delivery information associated with a export.",
+ "type": "object",
+ "properties": {
+ "destination": {
+ "description": "Has destination for the export being delivered.",
+ "$ref": "#/definitions/ExportDeliveryDestination"
+ }
+ },
+ "required": [
+ "destination"
+ ]
+ },
+ "ExportRecurrencePeriod": {
+ "description": "The start and end date for recurrence schedule.",
+ "type": "object",
+ "properties": {
+ "from": {
+ "description": "The start date of recurrence.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date of recurrence.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from"
+ ]
+ },
+ "ExportDeliveryDestination": {
+ "description": "The destination information for the delivery of the export. To allow access to a storage account, you must register the account's subscription with the Microsoft.CostManagementExports resource provider. This is required once per subscription. When creating an export in the Azure portal, it is done automatically, however API users need to register the subscription. For more information see https://docs.microsoft.com/en-us/azure/azure-resource-manager/resource-manager-supported-services .",
+ "type": "object",
+ "properties": {
+ "resourceId": {
+ "description": "The resource id of the storage account where exports will be delivered.",
+ "type": "string"
+ },
+ "container": {
+ "description": "The name of the container where exports will be uploaded.",
+ "type": "string"
+ },
+ "rootFolderPath": {
+ "description": "The name of the directory where exports will be uploaded.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "resourceId",
+ "container"
+ ]
+ },
+ "ExportDefinition": {
+ "description": "The definition of an export.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the export. Note that 'Usage' is equivalent to 'ActualCost' and is applicable to exports that do not yet provide data for charges or amortization for service reservations.",
+ "type": "string",
+ "enum": [
+ "Usage",
+ "ActualCost",
+ "AmortizedCost"
+ ],
+ "x-ms-enum": {
+ "name": "ExportType",
+ "modelAsString": true
+ }
+ },
+ "timeframe": {
+ "description": "The time frame for pulling data for the export. If custom, then a specific time period must be provided.",
+ "type": "string",
+ "enum": [
+ "MonthToDate",
+ "BillingMonthToDate",
+ "TheLastMonth",
+ "TheLastBillingMonth",
+ "WeekToDate",
+ "Custom"
+ ],
+ "x-ms-enum": {
+ "name": "TimeframeType",
+ "modelAsString": true
+ }
+ },
+ "timePeriod": {
+ "description": "Has time period for pulling data for the export.",
+ "$ref": "#/definitions/ExportTimePeriod"
+ },
+ "dataSet": {
+ "description": "The definition for data in the export.",
+ "$ref": "#/definitions/ExportDataset"
+ }
+ },
+ "required": [
+ "type",
+ "timeframe"
+ ]
+ },
+ "ExportDataset": {
+ "description": "The definition for data in the export.",
+ "type": "object",
+ "properties": {
+ "granularity": {
+ "description": "The granularity of rows in the export. Currently only 'Daily' is supported.",
+ "type": "string",
+ "enum": [
+ "Daily"
+ ],
+ "x-ms-enum": {
+ "name": "GranularityType",
+ "modelAsString": true
+ }
+ },
+ "configuration": {
+ "description": "The export dataset configuration.",
+ "$ref": "#/definitions/ExportDatasetConfiguration"
+ }
+ }
+ },
+ "ExportDatasetConfiguration": {
+ "description": "The export dataset configuration. Allows columns to be selected for the export. If not provided then the export will include all available columns.",
+ "type": "object",
+ "properties": {
+ "columns": {
+ "description": "Array of column names to be included in the export. If not provided then the export will include all available columns. The available columns can vary by customer channel (see examples).",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "ExportTimePeriod": {
+ "description": "The date range for data in the export. This should only be specified with timeFrame set to 'Custom'. The maximum date range is 3 months.",
+ "type": "object",
+ "properties": {
+ "from": {
+ "description": "The start date for export data.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "to": {
+ "description": "The end date for export data.",
+ "type": "string",
+ "format": "date-time"
+ }
+ },
+ "required": [
+ "from",
+ "to"
+ ]
+ },
+ "ExportExecutionListResult": {
+ "description": "Result of listing the execution history of an export.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "A list of export executions.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/ExportExecution"
+ }
+ }
+ }
+ },
+ "ExportExecution": {
+ "description": "An export execution.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/ExportExecutionProperties",
+ "title": "Export execution properties"
+ }
+ }
+ },
+ "ExportExecutionProperties": {
+ "description": "The properties of the export execution.",
+ "type": "object",
+ "properties": {
+ "executionType": {
+ "description": "The type of the export execution.",
+ "type": "string",
+ "enum": [
+ "OnDemand",
+ "Scheduled"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionType",
+ "modelAsString": true
+ }
+ },
+ "status": {
+ "description": "The last known status of the export execution.",
+ "type": "string",
+ "enum": [
+ "Queued",
+ "InProgress",
+ "Completed",
+ "Failed",
+ "Timeout",
+ "NewDataNotAvailable",
+ "DataNotAvailable"
+ ],
+ "x-ms-enum": {
+ "name": "ExecutionStatus",
+ "modelAsString": true
+ }
+ },
+ "submittedBy": {
+ "description": "The identifier for the entity that executed the export. For OnDemand executions it is the user email. For scheduled executions it is 'System'.",
+ "type": "string"
+ },
+ "submittedTime": {
+ "description": "The time when export was queued to be executed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "processingStartTime": {
+ "description": "The time when export was picked up to be executed.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "processingEndTime": {
+ "description": "The time when the export execution finished.",
+ "type": "string",
+ "format": "date-time"
+ },
+ "fileName": {
+ "description": "The name of the exported file.",
+ "type": "string"
+ },
+ "runSettings": {
+ "description": "The export settings that were in effect for this execution.",
+ "$ref": "#/definitions/CommonExportProperties"
+ },
+ "error": {
+ "description": "The details of any error.",
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2019-11-01."
+ },
+ "apiVersion20200601Parameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Version of the API to be used with the client request. The current version is 2020-06-01."
+ },
+ "viewNameParameter": {
+ "name": "viewName",
+ "in": "path",
+ "description": "View name",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeViewParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with view operations. This includes 'subscriptions/{subscriptionId}' for subscription scope, 'subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for BillingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/invoiceSections/{invoiceSectionId}' for InvoiceSection scope, 'providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, 'providers/Microsoft.CostManagement/externalBillingAccounts/{externalBillingAccountName}' for External Billing Account scope and 'providers/Microsoft.CostManagement/externalSubscriptions/{externalSubscriptionName}' for External Subscription scope.",
+ "x-ms-parameter-location": "method"
+ },
+ "scopeDimensionParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with dimension operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId}' for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and 'providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeAlertParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with alerts operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeForecastParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with forecast operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "scopeQueryParameter": {
+ "name": "scope",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The scope associated with query and export operations. This includes '/subscriptions/{subscriptionId}/' for subscription scope, '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}' for resourceGroup scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}' for Billing Account scope and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/departments/{departmentId}' for Department scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/enrollmentAccounts/{enrollmentAccountId}' for EnrollmentAccount scope, '/providers/Microsoft.Management/managementGroups/{managementGroupId} for Management Group scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}' for billingProfile scope, '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/billingProfiles/{billingProfileId}/invoiceSections/{invoiceSectionId}' for invoiceSection scope, and '/providers/Microsoft.Billing/billingAccounts/{billingAccountId}/customers/{customerId}' specific for partners.",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "Azure Subscription ID.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Azure Resource Group Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "billingAccountIdParameter": {
+ "name": "billingAccountId",
+ "in": "path",
+ "description": "BillingAccount ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "managementGroupIdParameter": {
+ "name": "managementGroupId",
+ "in": "path",
+ "description": "ManagementGroup ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "departmentIdParameter": {
+ "name": "departmentId",
+ "in": "path",
+ "description": "Department ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "enrollmentAccountIdParameter": {
+ "name": "enrollmentAccountId",
+ "in": "path",
+ "description": "Enrollment Account ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "exportNameParameter": {
+ "name": "exportName",
+ "in": "path",
+ "description": "Export Name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "externalCloudProviderTypeParameter": {
+ "name": "externalCloudProviderType",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "enum": [
+ "externalSubscriptions",
+ "externalBillingAccounts"
+ ],
+ "x-ms-enum": {
+ "name": "externalCloudProviderType",
+ "modelAsString": true
+ },
+ "description": "The external cloud provider type associated with dimension/query operations. This includes 'externalSubscriptions' for linked account and 'externalBillingAccounts' for consolidated account.",
+ "x-ms-parameter-location": "method"
+ },
+ "externalCloudProviderIdParameter": {
+ "name": "externalCloudProviderId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "This can be '{externalSubscriptionId}' for linked account or '{externalBillingAccountId}' for consolidated account used with dimension/query operations.",
+ "x-ms-parameter-location": "method"
+ },
+ "alertIdParameter": {
+ "name": "alertId",
+ "in": "path",
+ "description": "Alert ID",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "x-ms-skip-url-encoding": true
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountAlerts.json
new file mode 100644
index 000000000000..8a6b536c3278
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountAlerts.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsList.json
new file mode 100644
index 000000000000..8f2f6f365cb4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..b5521f5bfb68
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..572606fcd52a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountForecast.json
new file mode 100644
index 000000000000..02e9d2896bfd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountForecast.json
@@ -0,0 +1,117 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "JapanUnifia-Trial",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "VSTSHOL-1595322048000",
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ "gs-stms-dev",
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQuery.json
new file mode 100644
index 000000000000..80d3082985f3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "70664866",
+ "scope": "providers/Microsoft.Billing/billingAccounts/70664866",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..cc666efa60dd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingAccountQueryGrouping.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "70664866",
+ "scope": "providers/Microsoft.Billing/billingAccounts/70664866",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileAlerts.json
new file mode 100644
index 000000000000..4c1bcb9cf37c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileAlerts.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileForecast.json
new file mode 100644
index 000000000000..7b29eb2e07db
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/BillingProfileForecast.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "JapanUnifia-Trial",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "VSTSHOL-1595322048000",
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ "gs-stms-dev",
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentAlerts.json
new file mode 100644
index 000000000000..31d5dd87d70d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentAlerts.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "billingAccountId": "12345:6789",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsList.json
new file mode 100644
index 000000000000..4aa6dec17440
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..066a3bc16f25
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListWithFilter.json
new file mode 100644
index 000000000000..f486f6e36fa2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "departmentId": "123",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/departments/123/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentForecast.json
new file mode 100644
index 000000000000..affaf9d67402
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentForecast.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12345:6789",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/departments/123/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "JapanUnifia-Trial",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "VSTSHOL-1595322048000",
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ "gs-stms-dev",
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQuery.json
new file mode 100644
index 000000000000..59cd36defe51
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQueryGrouping.json
new file mode 100644
index 000000000000..27ae96d00be2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DepartmentQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "70664866",
+ "departmentId": "123",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/departments/123",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/departments/123/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissResourceGroupAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissResourceGroupAlerts.json
new file mode 100644
index 000000000000..d72950db27ea
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissResourceGroupAlerts.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "alertId": "22222222-2222-2222-2222-222222222222",
+ "parameters": {
+ "properties": {
+ "status": "Dismissed"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Dismissed",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissSubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissSubscriptionAlerts.json
new file mode 100644
index 000000000000..2b9751ea4241
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/DismissSubscriptionAlerts.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "alertId": "22222222-2222-2222-2222-222222222222",
+ "parameters": {
+ "properties": {
+ "status": "Dismissed"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Dismissed",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountAlerts.json
new file mode 100644
index 000000000000..eff8e650fe77
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountAlerts.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "billingAccountId": "12345:6789",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsList.json
new file mode 100644
index 000000000000..1c23de80068c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..98551eb4e953
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..7de518cb7769
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountForecast.json
new file mode 100644
index 000000000000..f7673b462b25
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountForecast.json
@@ -0,0 +1,118 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12345:6789",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/enrollmentAccounts/456/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "JapanUnifia-Trial",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "VSTSHOL-1595322048000",
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ "gs-stms-dev",
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQuery.json
new file mode 100644
index 000000000000..d8adb4734eea
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQueryGrouping.json
new file mode 100644
index 000000000000..34d2421e5a3a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/EnrollmentAccountQueryGrouping.json
@@ -0,0 +1,77 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "70664866",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/70664866/enrollmentAccounts/456/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByBillingAccount.json
new file mode 100644
index 000000000000..64869be56a4e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByBillingAccount.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByDepartment.json
new file mode 100644
index 000000000000..1f118968e004
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByDepartment.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
new file mode 100644
index 000000000000..b829ecc1d0eb
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByEnrollmentAccount.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByManagementGroup.json
new file mode 100644
index 000000000000..5bc26d149df5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByManagementGroup.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..fa215b9ff077
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,129 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateBySubscription.json
new file mode 100644
index 000000000000..22592d3bfc96
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportCreateOrUpdateBySubscription.json
@@ -0,0 +1,128 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport",
+ "parameters": {
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "MonthToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByBillingAccount.json
new file mode 100644
index 000000000000..723a1b70c13d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByDepartment.json
new file mode 100644
index 000000000000..9bff0064a096
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByEnrollmentAccount.json
new file mode 100644
index 000000000000..a9caf9fa5729
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByManagementGroup.json
new file mode 100644
index 000000000000..d0d9845db934
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByResourceGroup.json
new file mode 100644
index 000000000000..430c0b81c4b2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteBySubscription.json
new file mode 100644
index 000000000000..74d07239431b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportDeleteBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByBillingAccount.json
new file mode 100644
index 000000000000..bb66830c00b6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByBillingAccount.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-Id}/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-05-01T00:00:00Z",
+ "to": "2020-05-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByDepartment.json
new file mode 100644
index 000000000000..415eef4ef834
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByDepartment.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-06-30T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..92d21fd96154
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByEnrollmentAccount.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2019-09-01T00:00:00Z",
+ "to": "2019-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByManagementGroup.json
new file mode 100644
index 000000000000..d8df71f3ddba
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByManagementGroup.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2019-09-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "UsageDate",
+ "MeterId",
+ "InstanceId",
+ "ResourceLocation",
+ "UsageQuantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByResourceGroup.json
new file mode 100644
index 000000000000..58dacbf4d372
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetByResourceGroup.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-06-30T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetBySubscription.json
new file mode 100644
index 000000000000..b3c6a550c6f4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportGetBySubscription.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport",
+ "name": "TestExport",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2019-06-01T00:00:00Z",
+ "to": "2019-07-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByBillingAccount.json
new file mode 100644
index 000000000000..723a1b70c13d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByBillingAccount.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByDepartment.json
new file mode 100644
index 000000000000..9bff0064a096
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByDepartment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByEnrollmentAccount.json
new file mode 100644
index 000000000000..a9caf9fa5729
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByEnrollmentAccount.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByManagementGroup.json
new file mode 100644
index 000000000000..d0d9845db934
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByManagementGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByResourceGroup.json
new file mode 100644
index 000000000000..430c0b81c4b2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunByResourceGroup.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunBySubscription.json
new file mode 100644
index 000000000000..74d07239431b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunBySubscription.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByBillingAccount.json
new file mode 100644
index 000000000000..23d2afb0ba7c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByBillingAccount.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/{billingAccount-id}/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByDepartment.json
new file mode 100644
index 000000000000..5812ec43b27f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByDepartment.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/1234",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..3cc2d9bdd01e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByEnrollmentAccount.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2019-01-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByManagementGroup.json
new file mode 100644
index 000000000000..d271d702dd30
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByManagementGroup.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledForTestExport/TestExportSchedule/20180729-20180804/TestExportSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByResourceGroup.json
new file mode 100644
index 000000000000..b6aaae782d44
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetByResourceGroup.json
@@ -0,0 +1,101 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetBySubscription.json
new file mode 100644
index 000000000000..1dc83a7d386e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportRunHistoryGetBySubscription.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "exportName": "TestExport"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/1e25d58a-a3b0-4916-9542-6e04a89bc100",
+ "properties": {
+ "executionType": "OnDemand",
+ "status": "Completed",
+ "submittedBy": "john.doe@gmail.com",
+ "submittedTime": "2018-08-03T07:52:15.6016681Z",
+ "processingStartTime": "2018-08-03T07:52:16.9123797Z",
+ "processingEndTime": "2018-08-03T07:52:28.0373318Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_1e25d58a-a3b0-4916-9542-6e04a89bc100.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/JohnDoeSchedule/Run/11ac6811-dca3-46ad-b326-4704cf0c58ef",
+ "properties": {
+ "executionType": "Scheduled",
+ "status": "Completed",
+ "submittedBy": "System",
+ "submittedTime": "2018-08-03T09:03:58.5710244Z",
+ "processingStartTime": "2018-08-03T09:03:58.5710244Z",
+ "processingEndTime": "2018-08-03T09:04:19.7223808Z",
+ "fileName": "ScheduledTestsForJohnDoe/JohnDoeSchedule/20180729-20180804/JohnDoeSchedule_11ac6811-dca3-46ad-b326-4704cf0c58ef.csv",
+ "runSettings": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ScheduledTestsForJohnDoe"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByBillingAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByBillingAccount.json
new file mode 100644
index 000000000000..e360bb9b5280
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByBillingAccount.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "123456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/123456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/123456/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByDepartment.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByDepartment.json
new file mode 100644
index 000000000000..3bdc6e63fd5a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByDepartment.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12",
+ "departmentId": "1234",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12/departments/123"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12/departments/1234/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByEnrollmentAccount.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByEnrollmentAccount.json
new file mode 100644
index 000000000000..abbb4951a11e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByEnrollmentAccount.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "100",
+ "enrollmentAccountId": "456",
+ "scope": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/100/enrollmentAccounts/456/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByManagementGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByManagementGroup.json
new file mode 100644
index 000000000000..9bf48014812b
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByManagementGroup.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "managementGroupId": "TestMG",
+ "scope": "providers/Microsoft.Management/managementGroups/TestMG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/TestMG/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByResourceGroup.json
new file mode 100644
index 000000000000..1ba77e1fa614
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetByResourceGroup.json
@@ -0,0 +1,90 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "MYDEVTESTRG",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetBySubscription.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetBySubscription.json
new file mode 100644
index 000000000000..c842a554eca8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExportsGetBySubscription.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport1",
+ "name": "TestExport1",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "Custom",
+ "timePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ },
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/exports/TestExport2",
+ "name": "TestExport2",
+ "type": "Microsoft.CostManagement/exports",
+ "properties": {
+ "schedule": {
+ "status": "Active",
+ "recurrence": "Weekly",
+ "recurrencePeriod": {
+ "from": "2020-06-01T00:00:00Z",
+ "to": "2020-10-31T00:00:00Z"
+ }
+ },
+ "format": "Csv",
+ "deliveryInfo": {
+ "destination": {
+ "resourceId": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Storage/storageAccounts/ccmeastusdiag182",
+ "container": "exports",
+ "rootFolderPath": "ad-hoc"
+ }
+ },
+ "definition": {
+ "type": "ActualCost",
+ "timeframe": "WeekToDate",
+ "dataSet": {
+ "granularity": "Daily",
+ "configuration": {
+ "columns": [
+ "Date",
+ "MeterId",
+ "ResourceId",
+ "ResourceLocation",
+ "Quantity"
+ ]
+ }
+ }
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountAlerts.json
new file mode 100644
index 000000000000..3172c3380a43
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountAlerts.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalBillingAccounts"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountForecast.json
new file mode 100644
index 000000000000..b73840ab14bc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountForecast.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalBillingAccounts",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/query/6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "name": "6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 0.0,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 30.2572751438,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.076757602000000022,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 50.430964190400012,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsDimensions.json
new file mode 100644
index 000000000000..5172c0cdcdb6
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsDimensions.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalBillingAccounts"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceType_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceType_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceType",
+ "description": "Resource type",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/dimensions_ResourceId_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceId_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceId",
+ "description": "Resource ID",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsQuery.json
new file mode 100644
index 000000000000..56e1a522099c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalBillingAccountsQuery.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalBillingAccounts",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/externalBillingAccounts/100/query/6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "name": "6dc7b06a-d90a-4df5-b655-ce6cf1c0814d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ServiceName",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 0.0,
+ "abc db",
+ "USD"
+ ],
+ [
+ 30.2572751438,
+ "abc compute cloud",
+ "USD"
+ ],
+ [
+ 0.076757602000000022,
+ "abc file system",
+ "USD"
+ ],
+ [
+ 50.430964190400012,
+ "abc elasticache",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionAlerts.json
new file mode 100644
index 000000000000..fe966bbe5f8e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionAlerts.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalSubscriptions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionForecast.json
new file mode 100644
index 000000000000..2ffa4801b11d
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionForecast.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalSubscriptions",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/query/d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "name": "d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsDimensions.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsDimensions.json
new file mode 100644
index 000000000000..5320be178ef0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsDimensions.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalSubscriptions"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceType_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceType_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceType",
+ "description": "Resource type",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/123/dimensions_ResourceId_2019-12-01_2019-12-31",
+ "name": "dimensions_ResourceId_2019-12-01_2019-12-31",
+ "type": "microsoft.consumption/dimensions",
+ "properties": {
+ "data": [],
+ "total": 0,
+ "category": "ResourceId",
+ "description": "Resource ID",
+ "usageStart": "2019-12-01T00:00:00Z",
+ "usageEnd": "2019-12-31T00:00:00Z",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsQuery.json
new file mode 100644
index 000000000000..5a4dfd8e3e27
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ExternalSubscriptionsQuery.json
@@ -0,0 +1,78 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "externalCloudProviderId": "100",
+ "externalCloudProviderType": "externalSubscriptions",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.CostManagement/externalSubscriptions/100/query/d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "name": "d99477af-7510-40ee-aca2-e59bdca0d10d",
+ "type": "Microsoft.CostManagement/query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionAlerts.json
new file mode 100644
index 000000000000..deaecbf35558
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionAlerts.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionForecast.json
new file mode 100644
index 000000000000..e0b840457c2c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/InvoiceSectionForecast.json
@@ -0,0 +1,119 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Forecast?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "JapanUnifia-Trial",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "VSTSHOL-1595322048000",
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ "gs-stms-dev",
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsList.json
new file mode 100644
index 000000000000..accdaebf5212
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..81839ef51c4e
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListWithFilter.json
new file mode 100644
index 000000000000..ab76379cbce0
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQuery.json
new file mode 100644
index 000000000000..8abfb5dc2eca
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQueryGrouping.json
new file mode 100644
index 000000000000..648ebf053be2
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingAccountQueryGrouping.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsList.json
new file mode 100644
index 000000000000..11d84a74f6c9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..2102cbb9407a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListWithFilter.json
new file mode 100644
index 000000000000..118eda5d0cfd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQuery.json
new file mode 100644
index 000000000000..89e2f2fb78ca
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQueryGrouping.json
new file mode 100644
index 000000000000..3946eb12c2cf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCABillingProfileQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsList.json
new file mode 100644
index 000000000000..0a63b2667392
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsList.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..738eb52bf1f8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListExpandAndTop.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListWithFilter.json
new file mode 100644
index 000000000000..dc9903eb348a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerDimensionsListWithFilter.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "13579",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQuery.json
new file mode 100644
index 000000000000..41a095e8750c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQuery.json
@@ -0,0 +1,108 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQueryGrouping.json
new file mode 100644
index 000000000000..a4629cc12c8c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCACustomerQueryGrouping.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "customerId": "5678",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/customers/5678/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsList.json
new file mode 100644
index 000000000000..381d346fa3ba
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsList.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..17dedb5444fc
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListExpandAndTop.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceGroup_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceType_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceType_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json
new file mode 100644
index 000000000000..9dc3219f73e3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionDimensionsListWithFilter.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/microsoft.CostManagement/dimensions_ResourceId_2019-10-01_2019-10-31",
+ "name": "dimensions_ResourceId_2019-10-01_2019-10-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2019-10-01T00:00:00-07:00",
+ "usageEnd": "2019-10-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQuery.json
new file mode 100644
index 000000000000..ddacc8d3b487
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQuery.json
@@ -0,0 +1,109 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQueryGrouping.json
new file mode 100644
index 000000000000..c680c09d1ac3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/MCAInvoiceSectionQueryGrouping.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "billingAccountId": "12345:6789",
+ "billingProfileId": "13579",
+ "invoiceSectionId": "9876",
+ "scope": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Billing/billingAccounts/12345:6789/billingProfiles/13579/invoiceSections/9876/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsList.json
new file mode 100644
index 000000000000..46d654b664b9
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsList.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "managementGroupId": "MyMgId",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListExpandAndTop.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListExpandAndTop.json
new file mode 100644
index 000000000000..616047e5e4bf
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListExpandAndTop.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "thoroetrg01",
+ "default-notificationhubs-westus",
+ "jedikeyvaultrg",
+ "contosocodeflow8d4a",
+ "noobaa"
+ ],
+ "total": 377,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.automation/automationaccounts",
+ "microsoft.databricks/workspaces",
+ "microsoft.dbformysql/servers",
+ "microsoft.containerregistry/registries",
+ "microsoft.search/searchservices"
+ ],
+ "total": 37,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListWithFilter.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListWithFilter.json
new file mode 100644
index 000000000000..de501d6cc1ee
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupDimensionsListWithFilter.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "managementGroupId": "MyMgId",
+ "$expand": "properties/data",
+ "$top": 5,
+ "$filter": "properties/category eq 'resourceId'",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/urphealthaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/67e24f6b-1ec2-4c90-993a-dc2d25b00b6c/resourcegroups/defaultresourcegroup-eus/providers/microsoft.operationalinsights/workspaces/defaultworkspace-67e24f6b-1ec2-4c90-993a-dc2d25b00b6c-eus",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/rg-sql-ha/providers/microsoft.compute/virtualmachines/sql-4qqp1",
+ "/subscriptions/a98d6dc5-eb8f-46cf-8938-f1fb08f03706/resourcegroups/databricks-rg-testwsp-xijmsdubneexm/providers/microsoft.compute/disks/488cdb42bf74474a98075415be3f806c-containerrootvolume"
+ ],
+ "total": 1409,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true,
+ "nextLink": "http://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Dimensions?$filter=properties/category eq 'resourceId'&$top=5&api-version=2019-10-01&$expand=properties/data&$skiptoken=AQAAAA%3D%3D"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQuery.json
new file mode 100644
index 000000000000..8bb619cee8e3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "managementGroupId": "MyMgId",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.16677720329728665,
+ "gs-stms-dev",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQueryGrouping.json
new file mode 100644
index 000000000000..0f3b0ef56cd3
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ManagementGroupQueryGrouping.json
@@ -0,0 +1,76 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "managementGroupId": "MyMgId",
+ "scope": "providers/Microsoft.Management/managementGroups/MyMgId",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query/ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "name": "ad67fd91-c131-4bda-9ba9-7187ecb1cebd",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": "https://management.azure.com/providers/Microsoft.Management/managementGroups/MyMgId/providers/Microsoft.CostManagement/Query?api-version=2019-10-01&$skiptoken=AQAAAA%3D%3D",
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 20.359416562625452,
+ "VSTSHOL-1595322048000",
+ 20180331,
+ "USD"
+ ],
+ [
+ 173.41979241290323,
+ "RVIIOT-TRIAL",
+ 20180331,
+ "USD"
+ ],
+ [
+ 19.545363672276512,
+ "JapanUnifia-Trial",
+ 20180331,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateView.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateView.json
new file mode 100644
index 000000000000..8128f186ee34
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateView.json
@@ -0,0 +1,69 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "viewName": "swaggerExample"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewCreateOrUpdate.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewCreateOrUpdate.json
new file mode 100644
index 000000000000..917f49d96253
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewCreateOrUpdate.json
@@ -0,0 +1,185 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "viewName": "swaggerExample",
+ "parameters": {
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewDelete.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewDelete.json
new file mode 100644
index 000000000000..a03a55d4b016
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewDelete.json
@@ -0,0 +1,10 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "viewName": "TestView"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewList.json
new file mode 100644
index 000000000000..f70ddf2c6c81
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/PrivateViewList.json
@@ -0,0 +1,131 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/providers/Microsoft.CostManagement/views/swaggerExample2",
+ "name": "swaggerExample2",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example 2",
+ "scope": "",
+ "query": {
+ "type": "Usage",
+ "timeframe": "LastMonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "GroupedColumn",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupAlerts.json
new file mode 100644
index 000000000000..2db6d3dd5bf8
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupAlerts.json
@@ -0,0 +1,99 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupDimensionsList.json
new file mode 100644
index 000000000000..d0f789435863
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupDimensionsList.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "system.orlando",
+ "$expand": "properties/data",
+ "$top": 5,
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.storage/storageaccounts"
+ ],
+ "total": 1,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/system.orlando/providers/microsoft.CostManagement/dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceId_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/authprod",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/systemevents",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/armadminprod",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/srphytenaccount",
+ "/subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/system.orlando/providers/microsoft.storage/storageaccounts/publicsystemportal"
+ ],
+ "total": 27,
+ "category": "ResourceId",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource Id",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupForecast.json
new file mode 100644
index 000000000000..6ed0b4095bcd
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupForecast.json
@@ -0,0 +1,97 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180331,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQuery.json
new file mode 100644
index 000000000000..052910483e76
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQuery.json
@@ -0,0 +1,96 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "55312978-ba1b-415c-9304-c4b9c43c0481",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/55312978-ba1b-415c-9304-c4b9c43c0481/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180417,
+ "USD"
+ ],
+ [
+ 20.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180418,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQueryGrouping.json
new file mode 100644
index 000000000000..da7cb4d9a91f
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ResourceGroupQueryGrouping.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceType"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourcegroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/Query/9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "name": "9af9459d-441d-4055-9ed0-83d4c4a363fb",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceType",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "Microsoft.SqlServer",
+ 20180417,
+ "USD"
+ ],
+ [
+ 20.10333307059661,
+ "Microsoft.Compute",
+ 20180418,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleResourceGroupAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleResourceGroupAlert.json
new file mode 100644
index 000000000000..d4f3f72ef83a
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleResourceGroupAlert.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "resourceGroupName": "ScreenSharingTest-peer",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer",
+ "alertId": "22222222-2222-2222-2222-222222222222"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/ScreenSharingTest-peer/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleSubscriptionAlert.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleSubscriptionAlert.json
new file mode 100644
index 000000000000..cd881b8ea598
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SingleSubscriptionAlert.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "alertId": "22222222-2222-2222-2222-222222222222"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/22222222-2222-2222-2222-222222222222",
+ "name": "22222222-2222-2222-2222-222222222222",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "22222222-2222-2222-2222-222222222222_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionAlerts.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionAlerts.json
new file mode 100644
index 000000000000..0880df01a3b4
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionAlerts.json
@@ -0,0 +1,98 @@
+{
+ "parameters": {
+ "api-version": "2018-08-01-preview",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/00000000-0000-0000-0000-000000000000",
+ "name": "00000000-0000-0000-0000-000000000000",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "00000000-0000-0000-0000-000000000000_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 161000.12,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2020-04-27T11:07:52.7143901Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2020-04-28T11:06:02.8999373Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/alerts/11111111-1111-1111-111111111111",
+ "name": "11111111-1111-1111-111111111111",
+ "type": "Microsoft.CostManagement/alerts",
+ "properties": {
+ "definition": {
+ "type": "Budget",
+ "category": "Cost",
+ "criteria": "CostThresholdExceeded"
+ },
+ "description": "",
+ "source": "Preset",
+ "details": {
+ "timeGrainType": "Quarterly",
+ "periodStartDate": "2020-03-01T00:00:00Z",
+ "triggeredBy": "11111111-1111-1111-111111111111_1_01",
+ "resourceGroupFilter": [],
+ "resourceFilter": [],
+ "meterFilter": [],
+ "tagFilter": {},
+ "threshold": 0.8,
+ "operator": "GreaterThan",
+ "amount": 200000.0,
+ "unit": "USD",
+ "currentSpend": 171000.32,
+ "contactEmails": [
+ "1234@contoso.com"
+ ],
+ "contactGroups": [],
+ "contactRoles": [],
+ "overridingAlert": null
+ },
+ "costEntityId": "budget1",
+ "status": "Active",
+ "creationTime": "2019-06-24T05:51:52.8713179Z",
+ "closeTime": "0001-01-01T00:00:00",
+ "modificationTime": "2019-08-31T17:51:55.1808807Z",
+ "statusModificationUserName": null,
+ "statusModificationTime": "0001-01-01T00:00:00"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionDimensionsList.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionDimensionsList.json
new file mode 100644
index 000000000000..89e401409972
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionDimensionsList.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "$top": 5,
+ "$expand": "properties/data",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceGroup_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "dcrg",
+ "rg",
+ "offlinegalleryrg",
+ "system.orlando.adminkeyvault",
+ "system.orlando.keyvault"
+ ],
+ "total": 68,
+ "category": "ResourceGroup",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource group",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ },
+ {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "name": "dimensions_ResourceType_2018-05-01_2018-05-31_5",
+ "type": "microsoft.CostManagement/dimensions",
+ "properties": {
+ "data": [
+ "microsoft.storage/storageaccounts",
+ "microsoft.web.admin/role",
+ "microsoft.sql/servers",
+ "microsoft.compute/virtualmachines"
+ ],
+ "total": 4,
+ "category": "ResourceType",
+ "usageStart": "2018-05-01T00:00:00-07:00",
+ "usageEnd": "2018-05-31T00:00:00-07:00",
+ "description": "Resource type",
+ "filterEnabled": true,
+ "groupingEnabled": true
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionForecast.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionForecast.json
new file mode 100644
index 000000000000..dafbb3828f33
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionForecast.json
@@ -0,0 +1,117 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ },
+ "includeActualCost": false,
+ "includeFreshPartialCost": false
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "CostStatus",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "Ict_StratAndPlan_GoldSprova_Prod",
+ 20180331,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "ssbciotelement01",
+ 20180401,
+ "Forecast",
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ "ict_stratandplan_goldsprova_prod",
+ 20180429,
+ "Forecast",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQuery.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQuery.json
new file mode 100644
index 000000000000..c9d3f535ad9c
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQuery.json
@@ -0,0 +1,107 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "filter": {
+ "and": [
+ {
+ "or": [
+ {
+ "dimension": {
+ "name": "ResourceLocation",
+ "operator": "In",
+ "values": [
+ "East US",
+ "West Europe"
+ ]
+ }
+ },
+ {
+ "tag": {
+ "name": "Environment",
+ "operator": "In",
+ "values": [
+ "UAT",
+ "Prod"
+ ]
+ }
+ }
+ ]
+ },
+ {
+ "dimension": {
+ "name": "ResourceGroup",
+ "operator": "In",
+ "values": [
+ "API"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "UsageDate",
+ "type": "Number"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer",
+ 20180331,
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "Ict_StratAndPlan_GoldSprova_Prod",
+ 20180331,
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "ssbciotelement01",
+ 20180401,
+ "USD"
+ ],
+ [
+ 0.009865586851323632,
+ "ict_stratandplan_goldsprova_prod",
+ 20180429,
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQueryGrouping.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQueryGrouping.json
new file mode 100644
index 000000000000..f155bfd59622
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/SubscriptionQueryGrouping.json
@@ -0,0 +1,74 @@
+{
+ "parameters": {
+ "api-version": "2019-10-01",
+ "subscriptionId": "00000000-0000-0000-0000-000000000000",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000",
+ "parameters": {
+ "type": "Usage",
+ "timeframe": "TheLastMonth",
+ "dataset": {
+ "granularity": "None",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [
+ {
+ "type": "Dimension",
+ "name": "ResourceGroup"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.CostManagement/Query/00000000-0000-0000-0000-000000000000",
+ "name": "55312978-ba1b-415c-9304-cfd9c43c0481",
+ "type": "microsoft.costmanagement/Query",
+ "properties": {
+ "nextLink": null,
+ "columns": [
+ {
+ "name": "PreTaxCost",
+ "type": "Number"
+ },
+ {
+ "name": "ResourceGroup",
+ "type": "String"
+ },
+ {
+ "name": "Currency",
+ "type": "String"
+ }
+ ],
+ "rows": [
+ [
+ 0.009865586851323632,
+ "Ict_StratAndPlan_GoldSprova_Prod_0",
+ "USD"
+ ],
+ [
+ 218.68795741935486,
+ "Ict_StratAndPlan_GoldSprova_Prod_1",
+ "USD"
+ ],
+ [
+ 2.10333307059661,
+ "ScreenSharingTest-peer1",
+ "USD"
+ ],
+ [
+ 0.14384913581657052,
+ "Ssbciotelement01",
+ "USD"
+ ]
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewByResourceGroup.json
new file mode 100644
index 000000000000..68f6fe7333ca
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewByResourceGroup.json
@@ -0,0 +1,70 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "viewName": "swaggerExample",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewCreateOrUpdateByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewCreateOrUpdateByResourceGroup.json
new file mode 100644
index 000000000000..65b1475171ec
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewCreateOrUpdateByResourceGroup.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "viewName": "swaggerExample",
+ "parameters": {
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ },
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewDeleteByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewDeleteByResourceGroup.json
new file mode 100644
index 000000000000..c613cb7cecff
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewDeleteByResourceGroup.json
@@ -0,0 +1,11 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "viewName": "TestView"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewListByResourceGroup.json b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewListByResourceGroup.json
new file mode 100644
index 000000000000..9f71cbfbe7f5
--- /dev/null
+++ b/specification/cost-management/resource-manager/Microsoft.CostManagement/stable/2020-06-01/examples/ViewListByResourceGroup.json
@@ -0,0 +1,132 @@
+{
+ "parameters": {
+ "api-version": "2020-06-01",
+ "scope": "subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample",
+ "name": "swaggerExample",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ff9fe66f1d10\"",
+ "properties": {
+ "displayName": "swagger Example",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "MonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "Table",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.CostManagement/views/swaggerExample2",
+ "name": "swaggerExample2",
+ "type": "Microsoft.CostManagement/Views",
+ "eTag": "\"1d4ffa5a9c2430c\"",
+ "properties": {
+ "displayName": "swagger Example 2",
+ "scope": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG",
+ "query": {
+ "type": "Usage",
+ "timeframe": "LastMonthToDate",
+ "dataset": {
+ "granularity": "Daily",
+ "aggregation": {
+ "totalCost": {
+ "name": "PreTaxCost",
+ "function": "Sum"
+ }
+ },
+ "grouping": [],
+ "sorting": [
+ {
+ "direction": "Ascending",
+ "name": "UsageDate"
+ }
+ ]
+ }
+ },
+ "chart": "GroupedColumn",
+ "accumulated": "true",
+ "metric": "ActualCost",
+ "kpis": [
+ {
+ "type": "Forecast",
+ "id": null,
+ "enabled": true
+ },
+ {
+ "type": "Budget",
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/MYDEVTESTRG/providers/Microsoft.Consumption/budgets/swaggerDemo",
+ "enabled": true
+ }
+ ],
+ "pivots": [
+ {
+ "type": "Dimension",
+ "name": "ServiceName"
+ },
+ {
+ "type": "Dimension",
+ "name": "MeterCategory"
+ },
+ {
+ "type": "TagKey",
+ "name": "swaggerTagKey"
+ }
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/cost-management/resource-manager/readme.az.md b/specification/cost-management/resource-manager/readme.az.md
index 0ab4b46e293f..961e2dab1422 100644
--- a/specification/cost-management/resource-manager/readme.az.md
+++ b/specification/cost-management/resource-manager/readme.az.md
@@ -11,5 +11,4 @@ az:
client-base-url-bound: true
az-output-folder: $(azure-cli-extension-folder)/src/costmanagement
python-sdk-output-folder: "$(az-output-folder)/azext_costmanagement/vendored_sdks/costmanagement"
-
```
diff --git a/specification/cost-management/resource-manager/readme.azureresourceschema.md b/specification/cost-management/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..87d877890c0c
--- /dev/null
+++ b/specification/cost-management/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,144 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-costmanagement-2020-06-01
+ - tag: schema-costmanagement-2020-03-01-preview
+ - tag: schema-costmanagement-2019-11-01
+ - tag: schema-costmanagement-2019-10-01
+ - tag: schema-costmanagement-2019-09-01
+ - tag: schema-costmanagement-2019-04-01-preview
+ - tag: schema-costmanagement-2019-03-01-preview
+ - tag: schema-costmanagement-2019-01-01
+ - tag: schema-costmanagement-2018-12-01-preview
+ - tag: schema-costmanagement-2018-08-01-preview
+ - tag: schema-costmanagement-2018-05-31
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-costmanagement-2020-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2020-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
+
+```
+
+### Tag: schema-costmanagement-2019-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2019-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2019-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2019-04-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-04-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2019-04-01-preview/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2019-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2019-03-01-preview/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2019-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2019-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2019-01-01/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2018-12-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2018-12-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2018-12-01-preview/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2018-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2018-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/preview/2018-08-01-preview/costmanagement.json
+
+```
+
+### Tag: schema-costmanagement-2018-05-31 and azureresourceschema
+
+``` yaml $(tag) == 'schema-costmanagement-2018-05-31' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CostManagement/stable/2018-05-31/costmanagement.json
+
+```
diff --git a/specification/cost-management/resource-manager/readme.go.md b/specification/cost-management/resource-manager/readme.go.md
index 19a211b46d9d..4259fa52ed37 100644
--- a/specification/cost-management/resource-manager/readme.go.md
+++ b/specification/cost-management/resource-manager/readme.go.md
@@ -66,3 +66,11 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-06' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-06-01/$(namespace)
+```
diff --git a/specification/cost-management/resource-manager/readme.md b/specification/cost-management/resource-manager/readme.md
index 12dadfcd7709..26eb8c98ebb2 100644
--- a/specification/cost-management/resource-manager/readme.md
+++ b/specification/cost-management/resource-manager/readme.md
@@ -26,18 +26,38 @@ These are the global settings for the Cost Management API.
``` yaml
openapi-type: arm
-tag: package-2019-11
+tag: package-2020-06
azure-validator: false
```
---
+### Tag: package-preview-2020-03
+
+These settings apply only when `--tag=package-preview-2020-03` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2020-03'
+input-file:
+ - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+ - Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.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:
+ - Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+```
+
+
### Tag: package-2019-11
These settings apply only when `--tag=package-2019-11` is specified on the command line.
-```yaml $(tag) == 'package-2019-11'
+``` yaml $(tag) == 'package-2019-11'
input-file:
- Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
```
@@ -46,10 +66,11 @@ input-file:
These settings apply only when `--tag=package-2019-10` is specified on the command line.
-```yaml $(tag) == 'package-2019-10'
+``` yaml $(tag) == 'package-2019-10'
input-file:
- Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
```
+
### Tag: package-2019-09
These settings apply only when `--tag=package-2019-09` is specified on the command line.
@@ -191,6 +212,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_costmanagement']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cost-management/resource-manager
```
## C#
@@ -207,7 +231,6 @@ csharp:
clear-output-folder: true
```
-
## Go
See configuration in [readme.go.md](./readme.go.md)
@@ -315,6 +338,10 @@ regenerate-manager: true
generate-interface: true
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -327,6 +354,8 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.CostManagement/stable/2020-06-01/costmanagement.json
+ - $(this-folder)/Microsoft.CostManagement/preview/2020-03-01-preview/costallocation.json
- $(this-folder)/Microsoft.CostManagement/stable/2019-11-01/costmanagement.json
- $(this-folder)/Microsoft.CostManagement/stable/2019-10-01/costmanagement.json
- $(this-folder)/Microsoft.CostManagement/stable/2019-09-01/costmanagement.json
diff --git a/specification/cpim/resource-manager/readme.azureresourceschema.md b/specification/cpim/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..b627d4375146
--- /dev/null
+++ b/specification/cpim/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-azureactivedirectory-2020-05-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-azureactivedirectory-2020-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-azureactivedirectory-2020-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AzureActiveDirectory/preview/2020-05-01-preview/cpim.json
+
+```
diff --git a/specification/cpim/resource-manager/readme.md b/specification/cpim/resource-manager/readme.md
index d9bdf7941d0a..4396ccf1b2c9 100644
--- a/specification/cpim/resource-manager/readme.md
+++ b/specification/cpim/resource-manager/readme.md
@@ -56,6 +56,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_cpim']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js cpim/resource-manager
```
## Go
@@ -78,6 +81,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/customer-insights/resource-manager/readme.azureresourceschema.md b/specification/customer-insights/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..856e894fb719
--- /dev/null
+++ b/specification/customer-insights/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-customerinsights-2017-04-26
+ - tag: schema-customerinsights-2017-01-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-customerinsights-2017-04-26 and azureresourceschema
+
+``` yaml $(tag) == 'schema-customerinsights-2017-04-26' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CustomerInsights/stable/2017-04-26/customer-insights.json
+
+```
+
+### Tag: schema-customerinsights-2017-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-customerinsights-2017-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CustomerInsights/stable/2017-01-01/customer-insights.json
+
+```
diff --git a/specification/customer-insights/resource-manager/readme.md b/specification/customer-insights/resource-manager/readme.md
index 7dae56441cff..f22cbd59665a 100644
--- a/specification/customer-insights/resource-manager/readme.md
+++ b/specification/customer-insights/resource-manager/readme.md
@@ -68,6 +68,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_customer_insights']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js customer-insights/resource-manager
```
@@ -140,6 +143,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/customerlockbox/resource-manager/readme.azureresourceschema.md b/specification/customerlockbox/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..c4bfaba99a75
--- /dev/null
+++ b/specification/customerlockbox/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-customerlockbox-2018-02-28-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-customerlockbox-2018-02-28-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-customerlockbox-2018-02-28-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CustomerLockbox/preview/2018-02-28-preview/customerlockbox.json
+
+```
diff --git a/specification/customerlockbox/resource-manager/readme.md b/specification/customerlockbox/resource-manager/readme.md
index 0e67eb17a65c..f41a46ae1ca1 100644
--- a/specification/customerlockbox/resource-manager/readme.md
+++ b/specification/customerlockbox/resource-manager/readme.md
@@ -56,6 +56,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_customerlockbox']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js customerlockbox/resource-manager
```
## Go
@@ -78,6 +81,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/customproviders/resource-manager/readme.azureresourceschema.md b/specification/customproviders/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..cfe5cfcbb11e
--- /dev/null
+++ b/specification/customproviders/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-customproviders-2018-09-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-customproviders-2018-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-customproviders-2018-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.CustomProviders/preview/2018-09-01-preview/customproviders.json
+
+```
diff --git a/specification/customproviders/resource-manager/readme.md b/specification/customproviders/resource-manager/readme.md
index 27afdefab93c..3a50bc05cf6e 100644
--- a/specification/customproviders/resource-manager/readme.md
+++ b/specification/customproviders/resource-manager/readme.md
@@ -60,6 +60,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_customproviders']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js customproviders/resource-manager
```
## Go
@@ -90,6 +93,10 @@ See configuration in [readme.nodejs.md](./readme.nodejs.md)
See configuration in [readme.trenton.md](./readme.trenton.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json
new file mode 100644
index 000000000000..93a9fd590650
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/databox.json
@@ -0,0 +1,4689 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-04-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/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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ }
+ }
+ }
+ },
+ "/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": {
+ "type": "object",
+ "description": "Additional error info.",
+ "properties": {
+ "type": {
+ "description": "Additional error type.",
+ "type": "string"
+ },
+ "info": {
+ "description": "Additional error info.",
+ "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"
+ ],
+ "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."
+ }
+ ]
+ }
+ }
+ }
+ }
+ },
+ "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": "Cloud error.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Cloud error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Cloud error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Cloud error target.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Cloud error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudError"
+ },
+ "readOnly": true
+ },
+ "additionalInfo": {
+ "description": "Cloud error additional info.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AdditionalErrorInfo"
+ },
+ "readOnly": true
+ }
+ },
+ "x-ms-external": true
+ },
+ "ContactDetails": {
+ "description": "Contact Details.",
+ "required": [
+ "contactName",
+ "phone",
+ "emailList"
+ ],
+ "type": "object",
+ "properties": {
+ "contactName": {
+ "description": "Contact name of the person.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "Phone number of the contact person.",
+ "type": "string"
+ },
+ "phoneExtension": {
+ "description": "Phone extension number of the contact person.",
+ "type": "string"
+ },
+ "mobile": {
+ "description": "Mobile number of the contact person.",
+ "type": "string"
+ },
+ "emailList": {
+ "description": "List of Email-ids to be notified about job progress.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "notificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NotificationPreference"
+ }
+ }
+ }
+ },
+ "CopyLogDetails": {
+ "description": "Details for log generated during copy.",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "properties": {
+ "copyLogDetailsType": {
+ "description": "Indicates the type of job details.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClassDiscriminator",
+ "modelAsExtensible": false,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box orders."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk orders."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy orders."
+ }
+ ]
+ }
+ }
+ },
+ "discriminator": "copyLogDetailsType"
+ },
+ "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
+ }
+ }
+ },
+ "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"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateCreateOrderLimit"
+ },
+ "CreateOrderLimitForSubscriptionValidationResponseProperties": {
+ "description": "Properties of create order limit for subscription validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Create order limit validation status.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidateCreateOrderLimit"
+ },
+ "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."
+ }
+ ]
+ }
+ },
+ "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"
+ },
+ "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"
+ },
+ "DataBoxDiskCopyLogDetails": {
+ "description": "Copy Log Details for a disk",
+ "required": [
+ "copyLogDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopyLogDetails"
+ }
+ ],
+ "properties": {
+ "diskSerialNumber": {
+ "description": "Disk Serial Number.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorLogLink": {
+ "description": "Link for copy error logs.",
+ "type": "string",
+ "readOnly": true
+ },
+ "verboseLogLink": {
+ "description": "Link for copy verbose logs.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskCopyProgress": {
+ "description": "DataBox Disk Copy Progress",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "The serial number of the disk",
+ "type": "string",
+ "readOnly": true
+ },
+ "bytesCopied": {
+ "format": "int64",
+ "description": "Bytes copied during the copy of disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Indicates the percentage completed for the copy of the disk.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The Status of the copy",
+ "enum": [
+ "NotStarted",
+ "InProgress",
+ "Completed",
+ "CompletedWithErrors",
+ "Failed",
+ "NotReturned",
+ "HardwareError",
+ "DeviceFormatted",
+ "DeviceMetadataModified",
+ "StorageAccountNotAccessible",
+ "UnsupportedData"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "CopyStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "NotStarted",
+ "description": "Data copy hasn't started yet."
+ },
+ {
+ "value": "InProgress",
+ "description": "Data copy is in progress."
+ },
+ {
+ "value": "Completed",
+ "description": "Data copy completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Data copy completed with errors."
+ },
+ {
+ "value": "Failed",
+ "description": "Data copy failed. No data was copied."
+ },
+ {
+ "value": "NotReturned",
+ "description": "No copy triggered as device was not returned."
+ },
+ {
+ "value": "HardwareError",
+ "description": "The Device has hit hardware issues."
+ },
+ {
+ "value": "DeviceFormatted",
+ "description": "Data copy failed. The Device was formatted by user."
+ },
+ {
+ "value": "DeviceMetadataModified",
+ "description": "Data copy failed. Device metadata was modified by user."
+ },
+ {
+ "value": "StorageAccountNotAccessible",
+ "description": "Data copy failed. Storage Account was not accessible during copy."
+ },
+ {
+ "value": "UnsupportedData",
+ "description": "Data copy failed. The Device data content is not supported."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "DataBoxDiskJobDetails": {
+ "description": "DataBox Disk Job Details.",
+ "required": [
+ "contactDetails",
+ "jobDetailsType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/JobDetails"
+ }
+ ],
+ "properties": {
+ "preferredDisks": {
+ "description": "User preference on what size disks are needed for the job. The map is from the disk size in TB to the count. Eg. {2,5} means 5 disks of 2 TB size. Key is string but will be checked against an int.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ }
+ },
+ "copyProgress": {
+ "description": "Copy progress per disk.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxDiskCopyProgress"
+ },
+ "readOnly": true
+ },
+ "disksAndSizeDetails": {
+ "description": "Contains the map of disk serial number to the disk size being used for the job. Is returned only after the disks are shipped to the customer.",
+ "type": "object",
+ "additionalProperties": {
+ "format": "int32",
+ "type": "integer"
+ },
+ "readOnly": true
+ },
+ "passkey": {
+ "description": "User entered passkey for DataBox Disk job.",
+ "type": "string"
+ }
+ },
+ "x-ms-discriminator-value": "DataBoxDisk"
+ },
+ "DataBoxDiskJobSecrets": {
+ "description": "The secrets related to disk job.",
+ "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)."
+ }
+ ]
+ }
+ },
+ "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"
+ }
+ }
+ },
+ "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"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "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
+ }
+ }
+ },
+ "ErrorDetail": {
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "type": "string"
+ },
+ "message": {
+ "type": "string"
+ },
+ "details": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Details"
+ }
+ },
+ "target": {
+ "type": "string"
+ }
+ }
+ },
+ "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"
+ },
+ "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"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "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.",
+ "readOnly": true
+ },
+ "expectedDataSizeInTerabytes": {
+ "format": "int32",
+ "description": "The expected size of the data, which needs to be transferred in this job, in terabytes.",
+ "type": "integer"
+ }
+ },
+ "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"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at Azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Time at which the job was started in UTC ISO 8601 format.",
+ "type": "string",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/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."
+ }
+ ]
+ }
+ },
+ "deliveryInfo": {
+ "$ref": "#/definitions/JobDeliveryInfo",
+ "description": "Delivery Info of Job."
+ },
+ "isCancellableWithoutFee": {
+ "description": "Flag to indicate cancellation of scheduled job.",
+ "type": "boolean",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResource": {
+ "description": "Job Resource.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "Properties of a job.",
+ "x-ms-client-flatten": true
+ },
+ "name": {
+ "description": "Name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "id": {
+ "description": "Id of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobResourceList": {
+ "description": "Job Resource Collection",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of job resources.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobResource"
+ }
+ },
+ "nextLink": {
+ "description": "Link for the next set of job resources.",
+ "type": "string"
+ }
+ }
+ },
+ "JobResourceUpdateParameter": {
+ "description": "The JobResourceUpdateParameter.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateJobProperties",
+ "description": "Properties of a job to be updated.",
+ "x-ms-client-flatten": true
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "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"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "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"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "StageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DeviceOrdered",
+ "description": "An order has been created."
+ },
+ {
+ "value": "DevicePrepared",
+ "description": "A device has been prepared for the order."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Device has been dispatched to the user of the order."
+ },
+ {
+ "value": "Delivered",
+ "description": "Device has been delivered to the user of the order."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Device has been picked up from user and in transit to Azure datacenter."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Device has been received at Azure datacenter from the user."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Data copy from the device at Azure datacenter."
+ },
+ {
+ "value": "Completed",
+ "description": "Order has completed."
+ },
+ {
+ "value": "CompletedWithErrors",
+ "description": "Order has completed with errors."
+ },
+ {
+ "value": "Cancelled",
+ "description": "Order has been cancelled."
+ },
+ {
+ "value": "Failed_IssueReportedAtCustomer",
+ "description": "Order has failed due to issue reported by user."
+ },
+ {
+ "value": "Failed_IssueDetectedAtAzureDC",
+ "description": "Order has failed due to issue detected at Azure datacenter."
+ },
+ {
+ "value": "Aborted",
+ "description": "Order has been aborted."
+ },
+ {
+ "value": "CompletedWithWarnings",
+ "description": "Order has completed with warnings."
+ },
+ {
+ "value": "ReadyToDispatchFromAzureDC",
+ "description": "Device is ready to be handed to customer from Azure DC."
+ },
+ {
+ "value": "ReadyToReceiveAtAzureDC",
+ "description": "Device can be dropped off at Azure DC."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "Display name of the job stage.",
+ "type": "string",
+ "readOnly": true
+ },
+ "stageStatus": {
+ "description": "Status of the job stage.",
+ "enum": [
+ "None",
+ "InProgress",
+ "Succeeded",
+ "Failed",
+ "Cancelled",
+ "Cancelling",
+ "SucceededWithErrors",
+ "WaitingForCustomerAction",
+ "SucceededWithWarnings"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "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."
+ }
+ ]
+ }
+ },
+ "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"
+ },
+ "NotificationPreference": {
+ "description": "Notification preference for a job stage.",
+ "required": [
+ "stageName",
+ "sendNotification"
+ ],
+ "type": "object",
+ "properties": {
+ "stageName": {
+ "description": "Name of the stage.",
+ "enum": [
+ "DevicePrepared",
+ "Dispatched",
+ "Delivered",
+ "PickedUp",
+ "AtAzureDC",
+ "DataCopy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NotificationStageName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DevicePrepared",
+ "description": "Notification at device prepared stage."
+ },
+ {
+ "value": "Dispatched",
+ "description": "Notification at device dispatched stage."
+ },
+ {
+ "value": "Delivered",
+ "description": "Notification at device delivered stage."
+ },
+ {
+ "value": "PickedUp",
+ "description": "Notification at device picked up from user stage."
+ },
+ {
+ "value": "AtAzureDC",
+ "description": "Notification at device received at Azure datacenter stage."
+ },
+ {
+ "value": "DataCopy",
+ "description": "Notification at data copy started stage."
+ }
+ ]
+ }
+ },
+ "sendNotification": {
+ "description": "Notification is required or not.",
+ "type": "boolean"
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operation entity.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation. Format: {resourceProviderNamespace}/{resourceType}/{read|write|delete|action}",
+ "type": "string",
+ "readOnly": true
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Operation display values.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ },
+ "origin": {
+ "description": "Origin of the operation. Can be : user|system|user,system",
+ "type": "string",
+ "readOnly": true
+ },
+ "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": {}
+ },
+ "PackageShippingDetails": {
+ "description": "Shipping details.",
+ "type": "object",
+ "properties": {
+ "carrierName": {
+ "description": "Name of the carrier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingId": {
+ "description": "Tracking Id of shipment.",
+ "type": "string",
+ "readOnly": true
+ },
+ "trackingUrl": {
+ "description": "Url where shipment can be tracked.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Preferences": {
+ "description": "Preferences related to the order",
+ "type": "object",
+ "properties": {
+ "preferredDataCenterRegion": {
+ "description": "Preferred data center region.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "transportPreferences": {
+ "$ref": "#/definitions/TransportPreferences",
+ "description": "Preferences related to the shipment logistics of the sku."
+ }
+ }
+ },
+ "PreferencesValidationRequest": {
+ "description": "Request to validate preference of transport and data center.",
+ "required": [
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "preference": {
+ "description": "Preference of transport and data center.",
+ "$ref": "#/definitions/Preferences"
+ },
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidatePreferences"
+ },
+ "PreferencesValidationResponseProperties": {
+ "description": "Properties of data center and transport preference validation response.",
+ "required": [
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputResponse"
+ }
+ ],
+ "properties": {
+ "status": {
+ "description": "Validation status of requested data center and transport.",
+ "enum": [
+ "Valid",
+ "Invalid",
+ "Skipped"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ValidationStatus",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "Valid",
+ "description": "Validation is successful"
+ },
+ {
+ "value": "Invalid",
+ "description": "Validation is not successful"
+ },
+ {
+ "value": "Skipped",
+ "description": "Validation is skipped"
+ }
+ ]
+ }
+ }
+ },
+ "x-ms-discriminator-value": "ValidatePreferences"
+ },
+ "RegionConfigurationRequest": {
+ "description": "Request body to get the configuration for the region.",
+ "type": "object",
+ "properties": {
+ "scheduleAvailabilityRequest": {
+ "$ref": "#/definitions/ScheduleAvailabilityRequest",
+ "description": "Request body to get the availability for scheduling orders."
+ },
+ "transportAvailabilityRequest": {
+ "$ref": "#/definitions/TransportAvailabilityRequest",
+ "description": "Request body to get the transport availability for given sku."
+ }
+ }
+ },
+ "RegionConfigurationResponse": {
+ "description": "Configuration response specific to a region.",
+ "type": "object",
+ "properties": {
+ "scheduleAvailabilityResponse": {
+ "$ref": "#/definitions/ScheduleAvailabilityResponse",
+ "description": "Schedule availability for given sku in a region.",
+ "readOnly": true
+ },
+ "transportAvailabilityResponse": {
+ "$ref": "#/definitions/TransportAvailabilityResponse",
+ "description": "Transport options available for given sku in a region.",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "description": "Model of the Resource.",
+ "required": [
+ "location",
+ "sku"
+ ],
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location of the resource. This will be one of the supported and registered Azure Regions (e.g. West US, East US, Southeast Asia, etc.). The region of a resource cannot be changed once it is created, but if an identical region is specified on update the request will succeed.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The list of key value pairs that describe the resource. These tags can be used in viewing and grouping this resource (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The sku type."
+ },
+ "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"
+ },
+ "principalId": {
+ "description": "Service Principal Id backing the Msi",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Home Tenant Id",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "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"
+ ],
+ "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."
+ }
+ ]
+ }
+ },
+ "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",
+ "postalCode"
+ ],
+ "type": "object",
+ "properties": {
+ "streetAddress1": {
+ "description": "Street Address line 1.",
+ "type": "string"
+ },
+ "streetAddress2": {
+ "description": "Street Address line 2.",
+ "type": "string"
+ },
+ "streetAddress3": {
+ "description": "Street Address line 3.",
+ "type": "string"
+ },
+ "city": {
+ "description": "Name of the City.",
+ "type": "string"
+ },
+ "stateOrProvince": {
+ "description": "Name of the State or Province.",
+ "type": "string"
+ },
+ "country": {
+ "description": "Name of the Country.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "Postal code.",
+ "type": "string"
+ },
+ "zipExtendedCode": {
+ "description": "Extended Zip Code.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "Name of the company.",
+ "type": "string"
+ },
+ "addressType": {
+ "description": "Type of address.",
+ "enum": [
+ "None",
+ "Residential",
+ "Commercial"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AddressType",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "None",
+ "description": "Address type not known."
+ },
+ {
+ "value": "Residential",
+ "description": "Residential Address."
+ },
+ {
+ "value": "Commercial",
+ "description": "Commercial Address."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "Sku": {
+ "description": "The Sku.",
+ "required": [
+ "name"
+ ],
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The sku name.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "displayName": {
+ "description": "The display name of the sku.",
+ "type": "string"
+ },
+ "family": {
+ "description": "The sku family.",
+ "type": "string"
+ }
+ }
+ },
+ "SkuAvailabilityValidationRequest": {
+ "description": "Request to validate sku availability.",
+ "required": [
+ "deviceType",
+ "transferType",
+ "country",
+ "location",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "transferType": {
+ "description": "Type of the transfer.",
+ "enum": [
+ "ImportToAzure",
+ "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"
+ },
+ "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."
+ }
+ ]
+ }
+ },
+ "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."
+ }
+ ]
+ }
+ },
+ "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"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ }
+ }
+ },
+ "TransportAvailabilityResponse": {
+ "description": "Transport options available for given sku in a region.",
+ "type": "object",
+ "properties": {
+ "transportAvailabilityDetails": {
+ "description": "List of transport availability details for given region",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TransportAvailabilityDetails"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "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."
+ }
+ }
+ },
+ "UpdateJobProperties": {
+ "description": "Job Properties for update",
+ "type": "object",
+ "properties": {
+ "details": {
+ "$ref": "#/definitions/UpdateJobDetails",
+ "description": "Details of a job to be updated."
+ }
+ }
+ },
+ "ValidateAddress": {
+ "description": "The requirements to validate customer address where the device needs to be shipped.",
+ "required": [
+ "shippingAddress",
+ "deviceType",
+ "validationType"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ValidationInputRequest"
+ }
+ ],
+ "properties": {
+ "shippingAddress": {
+ "$ref": "#/definitions/ShippingAddress",
+ "description": "Shipping address of the customer."
+ },
+ "deviceType": {
+ "description": "Device type to be used for the job.",
+ "enum": [
+ "DataBox",
+ "DataBoxDisk",
+ "DataBoxHeavy"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsExtensible": true,
+ "values": [
+ {
+ "value": "DataBox",
+ "description": "Data Box."
+ },
+ {
+ "value": "DataBoxDisk",
+ "description": "Data Box Disk."
+ },
+ {
+ "value": "DataBoxHeavy",
+ "description": "Data Box Heavy."
+ }
+ ]
+ }
+ },
+ "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/2020-04-01/examples/AvailableSkusPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json
new file mode 100644
index 000000000000..1f8c4f4c1af2
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/AvailableSkusPost.json
@@ -0,0 +1,280 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "location": "westus",
+ "api-version": "2020-04-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/2020-04-01/examples/BookShipmentPickupPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json
new file mode 100644
index 000000000000..bec928ad7c87
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/BookShipmentPickupPost.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2019-09-01",
+ "x-ms-client-request-id": [
+ "e1437186-b41d-492e-9b7a-e197c28a517a"
+ ],
+ "Accept-Language": [
+ "en-US"
+ ],
+ "User-Agent": [
+ "FxVersion/4.6.27817.01",
+ "OSName/Windows",
+ "OSVersion/Microsoft.Windows.10.0.18362.",
+ "Microsoft.Azure.Management.DataBox.DataBoxManagementClient/1.2.0"
+ ],
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "118"
+ ],
+ "shipmentPickUpRequest": {
+ "startTime": "2019-09-20T18:30:00Z",
+ "endTime": "2019-09-22T18:30:00Z",
+ "shipmentLocation": "Front desk"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "confirmationNumber": "2929602E9CP",
+ "readyByTime": "2019-09-20T18:30:00Z"
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json
new file mode 100644
index 000000000000..b0615f487570
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCancelPost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-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/2020-04-01/examples/JobsCreate.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json
new file mode 100644
index 000000000000..d4c85d99bfb2
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreate.json
@@ -0,0 +1,184 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-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/2020-04-01/examples/JobsCreateDevicePassword.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json
new file mode 100644
index 000000000000..e0966d489b9f
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateDevicePassword.json
@@ -0,0 +1,186 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7478",
+ "jobName": "SdkJob9640",
+ "api-version": "2020-04-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": "Abcd223@22344",
+ "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": "Abcd223@22344Abcd223@22344"
+ }
+ }
+ ]
+ }
+ },
+ "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/2020-04-01/examples/JobsCreateExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json
new file mode 100644
index 000000000000..9ed85155cd73
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsCreateExport.json
@@ -0,0 +1,194 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg8091",
+ "jobName": "SdkJob6429",
+ "api-version": "2020-04-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/2020-04-01/examples/JobsDelete.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json
new file mode 100644
index 000000000000..eb1ae2a45dec
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-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/2020-04-01/examples/JobsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json
new file mode 100644
index 000000000000..ba27dbca634d
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGet.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-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/2020-04-01/examples/JobsGetCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json
new file mode 100644
index 000000000000..4ae6cb839525
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetCmk.json
@@ -0,0 +1,170 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7937",
+ "jobName": "SdkJob1735",
+ "api-version": "2020-04-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/2020-04-01/examples/JobsGetExport.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json
new file mode 100644
index 000000000000..2544b1682896
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsGetExport.json
@@ -0,0 +1,135 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg8091",
+ "jobName": "SdkJob6429",
+ "api-version": "2020-04-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/2020-04-01/examples/JobsList.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json
new file mode 100644
index 000000000000..09068ac61e28
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsList.json
@@ -0,0 +1,805 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "api-version": "2020-04-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-04-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/2020-04-01/examples/JobsListByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json
new file mode 100644
index 000000000000..f3697a29a111
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListByResourceGroup.json
@@ -0,0 +1,84 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "api-version": "2020-04-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/2020-04-01/examples/JobsListCredentials.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json
new file mode 100644
index 000000000000..20101ff6dc09
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsListCredentials.json
@@ -0,0 +1,92 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "bvttoolrg6",
+ "jobName": "TJ-636646322037905056",
+ "api-version": "2020-04-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": "cT5nt8R;S%5",
+ "networkConfigurations": [
+ {
+ "name": "DataPort3",
+ "macAddress": "D05099C1F439"
+ },
+ {
+ "name": "DataPort1",
+ "macAddress": "EC0D9A21A6C0"
+ },
+ {
+ "name": "DataPort2",
+ "macAddress": "EC0D9A21A6C1"
+ }
+ ],
+ "encodedValidationCertPubKey": "5CYoAoVKEBa4WgPVis8keX94w30pon4jGMADSqcdE/NlHLChj6Cmhbl4q9QOFKSB/US4AwhS7zY1QS3YMDrkAPfOy7Hi6kWMBpJWZidTq3oXX8FAQjg+IqQESti/2jvAlcDpO2453rgd7Yb6XZ43P8MMTpTjcarI0ImCf//eITQWnFa3AzfIJ9C+hxCCaA7HTYhwQEPUBMwyQJsI6v6WuQysROtlBgx1YtbWFhDVbcqYRSLIbaj+RdzlvxvDJSo70kv+8em5upuDTpVE7xP+WePLlARdSPNwwfRzHnvCUqC2UqXHpRUhQlYnMqAJEcjjroRnyIGumPmmQ8O155X8aw==",
+ "accountCredentialDetails": [
+ {
+ "accountName": "databoxbvttestaccount",
+ "dataAccountType": "StorageAccount",
+ "accountConnectionString": "",
+ "shareCredentialDetails": [
+ {
+ "shareName": "databoxbvttestaccount_PageBlob",
+ "shareType": "PageBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_BlockBlob",
+ "shareType": "BlockBlob",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ },
+ {
+ "shareName": "databoxbvttestaccount_AzFile",
+ "shareType": "AzureFile",
+ "userName": "databoxbvttestac_903",
+ "password": "4N)K4(j6tyR",
+ "supportedAccessProtocols": [
+ "SMB"
+ ]
+ }
+ ]
+ }
+ ]
+ }
+ ],
+ "jobSecretsType": "DataBox",
+ "dcAccessSecurityCode": {}
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json
new file mode 100644
index 000000000000..2f34b6fd3217
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatch.json
@@ -0,0 +1,73 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg5154",
+ "jobName": "SdkJob952",
+ "api-version": "2020-04-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/2020-04-01/examples/JobsPatchCmk.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json
new file mode 100644
index 000000000000..899ea6b87097
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/JobsPatchCmk.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg7937",
+ "jobName": "SdkJob1735",
+ "api-version": "2020-04-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/2020-04-01/examples/OperationsGet.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json
new file mode 100644
index 000000000000..175a10a5e8cd
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/OperationsGet.json
@@ -0,0 +1,212 @@
+{
+ "parameters": {
+ "api-version": "2020-04-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/2020-04-01/examples/RegionConfiguration.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json
new file mode 100644
index 000000000000..fe90d5aba5cb
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfiguration.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-04-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/2020-04-01/examples/RegionConfigurationByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json
new file mode 100644
index 000000000000..a1df996e1da1
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/RegionConfigurationByResourceGroup.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg4981",
+ "location": "westus",
+ "api-version": "2020-04-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/2020-04-01/examples/ValidateAddressPost.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json
new file mode 100644
index 000000000000..76f2fa59a0bc
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateAddressPost.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-04-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/2020-04-01/examples/ValidateInputs.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json
new file mode 100644
index 000000000000..820e8c21cdd4
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputs.json
@@ -0,0 +1,166 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "location": "westus",
+ "api-version": "2020-04-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/2020-04-01/examples/ValidateInputsByResourceGroup.json b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json
new file mode 100644
index 000000000000..5a551216c1e0
--- /dev/null
+++ b/specification/databox/resource-manager/Microsoft.DataBox/stable/2020-04-01/examples/ValidateInputsByResourceGroup.json
@@ -0,0 +1,167 @@
+{
+ "parameters": {
+ "subscriptionId": "fa68082f-8ff7-4a25-95c7-ce9da541242f",
+ "resourceGroupName": "SdkRg6861",
+ "location": "westus",
+ "api-version": "2020-04-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.azureresourceschema.md b/specification/databox/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..d96954178ec5
--- /dev/null
+++ b/specification/databox/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,48 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-databox-2020-04-01
+ - tag: schema-databox-2019-09-01
+ - tag: schema-databox-2018-01-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-databox-2020-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databox-2020-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBox/stable/2020-04-01/databox.json
+
+```
+
+### Tag: schema-databox-2019-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databox-2019-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBox/stable/2019-09-01/databox.json
+
+```
+
+### Tag: schema-databox-2018-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databox-2018-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBox/stable/2018-01-01/databox.json
+
+```
diff --git a/specification/databox/resource-manager/readme.go.md b/specification/databox/resource-manager/readme.go.md
index f284d008936f..129eb9435784 100644
--- a/specification/databox/resource-manager/readme.go.md
+++ b/specification/databox/resource-manager/readme.go.md
@@ -15,6 +15,7 @@ go:
batch:
- tag: package-2018-01
- tag: package-2019-09
+ - tag: package-2020-04
```
### Tag: package-2018-01 and go
@@ -33,4 +34,13 @@ Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag) == 'package-2020-04' && $(go)
+output-folder: $(go-sdk-folder)/services/$(namespace)/mgmt/2020-04-01/$(namespace)
```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.md b/specification/databox/resource-manager/readme.md
index cb252a0cfb96..043ce94162c9 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-2019-09
+tag: package-2020-04
+```
+
+### Tag: package-2020-04
+
+These settings apply only when `--tag=package-2020-04` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-04'
+input-file:
+- Microsoft.DataBox/stable/2020-04-01/databox.json
```
### Tag: package-2019-09
@@ -60,6 +69,8 @@ This is not used by Autorest itself.
swagger-to-sdk:
- repo: azure-sdk-for-net
- repo: azure-sdk-for-python
+ after_scripts:
+ - python ./scripts/multiapi_init_gen.py azure-mgmt-databox
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-go
@@ -68,6 +79,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_databox']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js databox/resource-manager
```
## C#
@@ -118,6 +132,7 @@ java:
batch:
- tag: package-2018-01
- tag: package-2019-09
+ - tag: package-2020-04
```
### Tag: package-2018-01 and java
@@ -146,6 +161,22 @@ regenerate-manager: true
generate-interface: true
```
+### Tag: package-2020-04 and java
+
+These settings apply only when `--tag=package-2020-04-java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-04' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databox.v2020_04-01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/databox/mgmt-v2020_04_01
+regenerate-manager: true
+generate-interface: true
+```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -158,6 +189,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.DataBox/stable/2020-04-01/databox.json
- $(this-folder)/Microsoft.DataBox/stable/2019-09-01/databox.json
- $(this-folder)/Microsoft.DataBox/stable/2018-01-01/databox.json
diff --git a/specification/databox/resource-manager/readme.python.md b/specification/databox/resource-manager/readme.python.md
index c58c21fa9f86..73bcaea2fe6b 100644
--- a/specification/databox/resource-manager/readme.python.md
+++ b/specification/databox/resource-manager/readme.python.md
@@ -15,14 +15,49 @@ python:
title: DataBoxManagementClient
description: The DataBox Client.
clear-output-folder: true
+ no-namespace-folders: true
+```
+
+### Python multi-api
+
+Generate all API versions currently shipped for this package
+
+```yaml $(python) && $(multiapi)
+batch:
+ - tag: package-2020-04
+ - tag: package-2019-09
+ - tag: package-2018-01
```
-``` yaml $(python) && $(python-mode) == 'update'
+
+### Tag: package-2020-04 and python
+
+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)
python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox
+ namespace: azure.mgmt.databox.v2020_04_01
+ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2020_04_01
```
-``` yaml $(python) && $(python-mode) == 'create'
+
+### Tag: package-2019-09 and python
+
+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)
python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox
+ namespace: azure.mgmt.databox.v2019_09_01
+ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2019_09_01
```
+
+### Tag: package-2018-01 and python
+
+These settings apply only when `--tag=package-2018-01 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2018-01' && $(python)
+python:
+ namespace: azure.mgmt.databox.v2018_01_01
+ output-folder: $(python-sdks-folder)/databox/azure-mgmt-databox/azure/mgmt/databox/v2018_01_01
+```
\ No newline at end of file
diff --git a/specification/databox/resource-manager/readme.ruby.md b/specification/databox/resource-manager/readme.ruby.md
index 2720469a3277..e2df249ad0ee 100644
--- a/specification/databox/resource-manager/readme.ruby.md
+++ b/specification/databox/resource-manager/readme.ruby.md
@@ -14,6 +14,7 @@ azure-arm: true
batch:
- tag: package-2018-01
- tag: package-2019-09
+ - tag: package-2020-04
```
### Tag: package-2018-01 and ruby
@@ -35,3 +36,13 @@ 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
+```
\ No newline at end of file
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json
new file mode 100644
index 000000000000..67ad3b4498b1
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json
@@ -0,0 +1,6694 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-05-01-preview",
+ "title": "DataBoxEdgeManagementClient"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "paths": {
+ "/providers/Microsoft.DataBoxEdge/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "summary": "List all the supported operations.",
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of supported operations.",
+ "schema": {
+ "$ref": "#/definitions/OperationsList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OperationsGet": {
+ "$ref": "./examples/OperationsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/availableSkus": {
+ "get": {
+ "tags": [
+ "AvailableSkus"
+ ],
+ "summary": "List all the available Skus and information related to them.",
+ "operationId": "AvailableSkus_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists the available Skus and information related to them.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeSkuList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "AvailableSkus": {
+ "$ref": "./examples/AvailableSkusList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets all the Data Box Edge/Data Box Gateway devices in a subscription.",
+ "operationId": "Devices_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of Data Box Edge/Data Box Gateway devices.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetBySubscription": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetBySubscription.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets all the Data Box Edge/Data Box Gateway devices in a resource group.",
+ "operationId": "Devices_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "description": "Specify $expand=details to populate additional fields related to the resource or Specify $skipToken= to populate the next page in the list.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of Data Box Edge/Data Box Gateway devices.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetByResourceGroup": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByResourceGroup.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets the properties of the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The Data Box Edge/Data Box Gateway device.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceGetByName": {
+ "$ref": "./examples/DataBoxEdgeDeviceGetByName.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Creates or updates a Data Box Edge/Data Box Gateway resource.",
+ "operationId": "Devices_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "DataBoxEdgeDevice",
+ "in": "body",
+ "description": "The resource object.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the resource.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePut": {
+ "$ref": "./examples/DataBoxEdgeDevicePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Deletes the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the resource."
+ },
+ "202": {
+ "description": "Accepted the request to delete the resource."
+ },
+ "204": {
+ "description": "The resource is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DataBoxEdgeDeviceDelete": {
+ "$ref": "./examples/DataBoxEdgeDeviceDelete.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Modifies a Data Box Edge/Data Box Gateway resource.",
+ "operationId": "Devices_Update",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The resource parameters.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevicePatch"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully updated the resource.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "DataBoxEdgeDevicePatch": {
+ "$ref": "./examples/DataBoxEdgeDevicePatch.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "description": "Gets all the alerts for a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Alerts_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of alerts.",
+ "schema": {
+ "$ref": "#/definitions/AlertList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "AlertGetAllInDevice": {
+ "$ref": "./examples/AlertGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/alerts/{name}": {
+ "get": {
+ "tags": [
+ "Alerts"
+ ],
+ "summary": "Gets an alert by name.",
+ "operationId": "Alerts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The alert name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The alert details.",
+ "schema": {
+ "$ref": "#/definitions/Alert"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "AlertGet": {
+ "$ref": "./examples/AlertGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules": {
+ "get": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Gets all the bandwidth schedules for a Data Box Edge/Data Box Gateway device.",
+ "operationId": "BandwidthSchedules_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of bandwidth schedules.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedulesList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "BandwidthScheduleGetAllInDevice": {
+ "$ref": "./examples/BandwidthScheduleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/bandwidthSchedules/{name}": {
+ "get": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Gets the properties of the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The bandwidth schedule.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "BandwidthScheduleGet": {
+ "$ref": "./examples/BandwidthScheduleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Creates or updates a bandwidth schedule.",
+ "operationId": "BandwidthSchedules_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name which needs to be added/updated.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The bandwidth schedule to be added or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the bandwidth schedule.",
+ "schema": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the bandwidth schedule."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthSchedulePut": {
+ "$ref": "./examples/BandwidthSchedulePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "BandwidthSchedules"
+ ],
+ "description": "Deletes the specified bandwidth schedule.",
+ "operationId": "BandwidthSchedules_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The bandwidth schedule name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the bandwidth schedule."
+ },
+ "202": {
+ "description": "Accepted the request to delete the bandwidth schedule."
+ },
+ "204": {
+ "description": "Successfully deleted the bandwidth schedule."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "BandwidthScheduleDelete": {
+ "$ref": "./examples/BandwidthScheduleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/downloadUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Downloads the updates on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_DownloadUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully downloaded the updates on the device."
+ },
+ "202": {
+ "description": "Accepted the request to download the updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "DownloadUpdatesPost": {
+ "$ref": "./examples/DownloadUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/getExtendedInformation": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets additional information for the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_GetExtendedInformation",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The additional information.",
+ "schema": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfo"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ExtendedInfoPost": {
+ "$ref": "./examples/ExtendedInfoPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/installUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Installs the updates on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_InstallUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully installed updates on the device."
+ },
+ "202": {
+ "description": "Accepted the request to install updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "InstallUpdatesPost": {
+ "$ref": "./examples/InstallUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/jobs/{name}": {
+ "get": {
+ "tags": [
+ "Jobs"
+ ],
+ "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Jobs_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "JobsGet": {
+ "$ref": "./examples/JobsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/networkSettings/default": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Gets the network settings of the specified Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_GetNetworkSettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The device network settings.",
+ "schema": {
+ "$ref": "#/definitions/NetworkSettings"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "NetworkSettingsGet": {
+ "$ref": "./examples/NetworkSettingsGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/nodes": {
+ "get": {
+ "tags": [
+ "Nodes"
+ ],
+ "description": "Gets all the nodes currently configured under this Data Box Edge device",
+ "operationId": "Nodes_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all nodes on the device.",
+ "schema": {
+ "$ref": "#/definitions/NodeList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "NodesGetAllInDevice": {
+ "$ref": "./examples/NodeGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/operationsStatus/{name}": {
+ "get": {
+ "tags": [
+ "OperationsStatus"
+ ],
+ "summary": "Gets the details of a specified job on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "OperationsStatus_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The job name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The job details.",
+ "schema": {
+ "$ref": "#/definitions/Job"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OperationsStatusGet": {
+ "$ref": "./examples/OperationsStatusGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Lists all the orders related to a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Orders_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists all the orders for the Data Box Edge Device",
+ "schema": {
+ "$ref": "#/definitions/OrderList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "OrderGetAllInDevice": {
+ "$ref": "./examples/OrderGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/orders/default": {
+ "get": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Gets a specific order by name.",
+ "operationId": "Orders_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The order details of a device.",
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "OrderGet": {
+ "$ref": "./examples/OrderGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Creates or updates an order.",
+ "operationId": "Orders_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The order details of a device.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "order",
+ "in": "body",
+ "description": "The order to be created or updated.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the order.",
+ "schema": {
+ "$ref": "#/definitions/Order"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the order."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderPut": {
+ "$ref": "./examples/OrderPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Orders"
+ ],
+ "summary": "Deletes the order related to the device.",
+ "operationId": "Orders_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the order."
+ },
+ "202": {
+ "description": "Accepted the request to delete the order."
+ },
+ "204": {
+ "description": "The order is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "OrderDelete": {
+ "$ref": "./examples/OrderDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles": {
+ "get": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Lists all the roles configured in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Roles_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of all the roles configured in the device.",
+ "schema": {
+ "$ref": "#/definitions/RoleList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "RoleGetAllInDevice": {
+ "$ref": "./examples/RoleGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/roles/{name}": {
+ "get": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Gets a specific role by name.",
+ "operationId": "Roles_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The role with the specified name in the given device.",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "RoleGet": {
+ "$ref": "./examples/RoleGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Create or update a role.",
+ "operationId": "Roles_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "role",
+ "in": "body",
+ "description": "The role properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the role.",
+ "schema": {
+ "$ref": "#/definitions/Role"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the role."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RolePut": {
+ "$ref": "./examples/RolePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Roles"
+ ],
+ "description": "Deletes the role on the device.",
+ "operationId": "Roles_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The role name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the role."
+ },
+ "202": {
+ "description": "Accepted the request to delete the role."
+ },
+ "204": {
+ "description": "The role is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "RoleDelete": {
+ "$ref": "./examples/RoleDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/scanForUpdates": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Scans for updates on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_ScanForUpdates",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully scanned the device for updates."
+ },
+ "202": {
+ "description": "Accepted the request to scan for updates on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ScanForUpdatesPost": {
+ "$ref": "./examples/ScanForUpdatesPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/securitySettings/default/update": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Updates the security settings on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Devices_CreateOrUpdateSecuritySettings",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "securitySettings",
+ "in": "body",
+ "description": "The security settings.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/SecuritySettings"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to update the security settings."
+ },
+ "204": {
+ "description": "Updated the security settings."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "CreateOrUpdateSecuritySettings": {
+ "$ref": "./examples/SecuritySettingsUpdatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares": {
+ "get": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Lists all the shares in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Shares_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the shares on the device.",
+ "schema": {
+ "$ref": "#/definitions/ShareList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ShareGetAllInDevice": {
+ "$ref": "./examples/ShareGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}": {
+ "get": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Gets a share by name.",
+ "operationId": "Shares_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The share details.",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ShareGet": {
+ "$ref": "./examples/ShareGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Creates a new share or updates an existing share on the device.",
+ "operationId": "Shares_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "share",
+ "in": "body",
+ "description": "The share properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the share.",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the share."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SharePut": {
+ "$ref": "./examples/SharePut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Shares"
+ ],
+ "description": "Deletes the share on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Shares_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the share."
+ },
+ "202": {
+ "description": "Accepted the request to delete the share."
+ },
+ "204": {
+ "description": "The share is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareDelete": {
+ "$ref": "./examples/ShareDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/shares/{name}/refresh": {
+ "post": {
+ "tags": [
+ "Shares"
+ ],
+ "summary": "Refreshes the share metadata with the data from the cloud.",
+ "operationId": "Shares_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The share name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully refreshed the share on the device."
+ },
+ "202": {
+ "description": "Accepted the request to refresh the share on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareRefreshPost": {
+ "$ref": "./examples/ShareRefreshPost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials": {
+ "get": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "summary": "Gets all the storage account credentials in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccountCredentials_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of storage account credentials.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredentialList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "SACGetAllInDevice": {
+ "$ref": "./examples/SACGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccountCredentials/{name}": {
+ "get": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Gets the properties of the specified storage account credential.",
+ "operationId": "StorageAccountCredentials_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account credential properties.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "SACGet": {
+ "$ref": "./examples/SACGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Creates or updates the storage account credential.",
+ "operationId": "StorageAccountCredentials_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountCredential",
+ "in": "body",
+ "description": "The storage account credential.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the storage account credential.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the storage account credential."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACPut": {
+ "$ref": "./examples/SACPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "StorageAccountCredentials"
+ ],
+ "description": "Deletes the storage account credential.",
+ "operationId": "StorageAccountCredentials_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The storage account credential name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the storage account credential."
+ },
+ "202": {
+ "description": "Accepted the request to delete the storage account credential."
+ },
+ "204": {
+ "description": "The storage account credential is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "SACDelete": {
+ "$ref": "./examples/SACDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts": {
+ "get": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Lists all the storage accounts in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the StorageAccounts on the device.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccountList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "StorageAccountGetAllInDevice": {
+ "$ref": "./examples/StorageAccountGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}": {
+ "get": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Gets a StorageAccount by name.",
+ "operationId": "StorageAccounts_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage account name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The storage account details.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "StorageAccountGet": {
+ "$ref": "./examples/StorageAccountGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "summary": "Creates a new StorageAccount or updates an existing StorageAccount on the device.",
+ "operationId": "StorageAccounts_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccount",
+ "in": "body",
+ "description": "The StorageAccount properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the StorageAccount.",
+ "schema": {
+ "$ref": "#/definitions/StorageAccount"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the StorageAccount."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StorageAccountPut": {
+ "$ref": "./examples/StorageAccountPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "StorageAccounts"
+ ],
+ "description": "Deletes the StorageAccount on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "StorageAccounts_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The StorageAccount name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the StorageAccount."
+ },
+ "204": {
+ "description": "The StorageAccount is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "StorageAccountDelete": {
+ "$ref": "./examples/StorageAccountDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers": {
+ "get": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Lists all the containers of a storage Account in a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_ListByStorageAccount",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The storage Account name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all the containers on the device.",
+ "schema": {
+ "$ref": "#/definitions/ContainerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "ContainerListAllInDevice": {
+ "$ref": "./examples/ContainerListAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}": {
+ "get": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Gets a container by name.",
+ "operationId": "Containers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The container details.",
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ContainerGet": {
+ "$ref": "./examples/ContainerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Creates a new container or updates an existing container on the device.",
+ "operationId": "Containers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "container",
+ "in": "body",
+ "description": "The container properties.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the container.",
+ "schema": {
+ "$ref": "#/definitions/Container"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the container."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerPut": {
+ "$ref": "./examples/ContainerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Containers"
+ ],
+ "description": "Deletes the container on the Data Box Edge/Data Box Gateway device.",
+ "operationId": "Containers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "Accepted the request to delete the container."
+ },
+ "204": {
+ "description": "The container is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerDelete": {
+ "$ref": "./examples/ContainerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/storageAccounts/{storageAccountName}/containers/{containerName}/refresh": {
+ "post": {
+ "tags": [
+ "Containers"
+ ],
+ "summary": "Refreshes the container metadata with the data from the cloud.",
+ "operationId": "Containers_Refresh",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "storageAccountName",
+ "in": "path",
+ "description": "The Storage Account Name",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "containerName",
+ "in": "path",
+ "description": "The container name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully refreshed the container on the device."
+ },
+ "202": {
+ "description": "Accepted the request to refresh the container on the device."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ContainerRefresh": {
+ "$ref": "./examples/ContainerRefresh.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers": {
+ "get": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Lists all the triggers configured in the device.",
+ "operationId": "Triggers_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='CustomContextTag eq ' to filter on custom context tag property",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List all the triggers configured in the device",
+ "schema": {
+ "$ref": "#/definitions/TriggerList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "TriggerGetAllInDevice": {
+ "$ref": "./examples/TriggerGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/triggers/{name}": {
+ "get": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Get a specific trigger by name.",
+ "operationId": "Triggers_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The trigger.",
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "TriggerGet": {
+ "$ref": "./examples/TriggerGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Creates or updates a trigger.",
+ "operationId": "Triggers_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "Creates or updates a trigger",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "trigger",
+ "in": "body",
+ "description": "The trigger.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the trigger.",
+ "schema": {
+ "$ref": "#/definitions/Trigger"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the trigger."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerPut": {
+ "$ref": "./examples/TriggerPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Triggers"
+ ],
+ "description": "Deletes the trigger on the gateway device.",
+ "operationId": "Triggers_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The trigger name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the trigger."
+ },
+ "202": {
+ "description": "Accepted the request to delete the trigger."
+ },
+ "204": {
+ "description": "The trigger is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "TriggerDelete": {
+ "$ref": "./examples/TriggerDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/updateSummary/default": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "summary": "Gets information about the availability of updates based on the last scan of the device. It also gets information about any ongoing download or install jobs on the device.",
+ "operationId": "Devices_GetUpdateSummary",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The update summary.",
+ "schema": {
+ "$ref": "#/definitions/UpdateSummary"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UpdateSummaryGet": {
+ "$ref": "./examples/UpdateSummaryGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/uploadCertificate": {
+ "post": {
+ "tags": [
+ "Devices"
+ ],
+ "description": "Uploads registration certificate for the device.",
+ "operationId": "Devices_UploadCertificate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "description": "The upload certificate request.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/UploadCertificateRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully uploaded the registration certificate.",
+ "schema": {
+ "$ref": "#/definitions/UploadCertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UploadCertificatePost": {
+ "$ref": "./examples/UploadCertificatePost.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Gets all the users registered on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Users_ListByDataBoxEdgeDevice",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='UserType eq ' to filter on user type property",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The collection of all users on the device.",
+ "schema": {
+ "$ref": "#/definitions/UserList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "UserGetAllInDevice": {
+ "$ref": "./examples/UserGetAllInDevice.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/{deviceName}/users/{name}": {
+ "get": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Gets the properties of the specified user.",
+ "operationId": "Users_Get",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The user details.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "UserGet": {
+ "$ref": "./examples/UserGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Creates a new user or updates an existing user's information on a Data Box Edge/Data Box Gateway device.",
+ "operationId": "Users_CreateOrUpdate",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "user",
+ "in": "body",
+ "description": "The user details.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully created or updated the user.",
+ "schema": {
+ "$ref": "#/definitions/User"
+ }
+ },
+ "202": {
+ "description": "Accepted the request to create or update the user."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserPut": {
+ "$ref": "./examples/UserPut.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Users"
+ ],
+ "description": "Deletes the user on a databox edge/gateway device.",
+ "operationId": "Users_Delete",
+ "parameters": [
+ {
+ "name": "deviceName",
+ "in": "path",
+ "description": "The device name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The user name.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted the user."
+ },
+ "202": {
+ "description": "Accepted the request to delete the user."
+ },
+ "204": {
+ "description": "The user is already deleted."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "UserDelete": {
+ "$ref": "./examples/UserDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataBoxEdge/skus": {
+ "get": {
+ "tags": [
+ "Skus"
+ ],
+ "summary": "List all the available Skus in the region and information related to them",
+ "operationId": "Skus_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/apiVersionParameter"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Specify $filter='location eq ' to filter on location.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Lists the available Skus and information related to them.",
+ "schema": {
+ "$ref": "#/definitions/SkuInformationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "x-ms-examples": {
+ "ListSkus": {
+ "$ref": "./examples/ListSkus.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Address": {
+ "description": "The shipping address of the customer.",
+ "required": [
+ "addressLine1",
+ "postalCode",
+ "city",
+ "state",
+ "country"
+ ],
+ "type": "object",
+ "properties": {
+ "addressLine1": {
+ "description": "The address line1.",
+ "type": "string"
+ },
+ "addressLine2": {
+ "description": "The address line2.",
+ "type": "string"
+ },
+ "addressLine3": {
+ "description": "The address line3.",
+ "type": "string"
+ },
+ "postalCode": {
+ "description": "The postal code.",
+ "type": "string"
+ },
+ "city": {
+ "description": "The city name.",
+ "type": "string"
+ },
+ "state": {
+ "description": "The state name.",
+ "type": "string"
+ },
+ "country": {
+ "description": "The country name.",
+ "type": "string"
+ }
+ }
+ },
+ "Alert": {
+ "description": "Alert on the data box edge/gateway device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/AlertProperties",
+ "description": "Properties of alert.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "AlertErrorDetails": {
+ "description": "Error details for the alert.",
+ "type": "object",
+ "properties": {
+ "errorCode": {
+ "description": "Error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "errorMessage": {
+ "description": "Error Message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "occurrences": {
+ "format": "int32",
+ "description": "Number of occurrences.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertList": {
+ "description": "Collection of alerts.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Alert"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "AlertProperties": {
+ "description": "Properties of alert.",
+ "type": "object",
+ "properties": {
+ "title": {
+ "description": "Alert title.",
+ "type": "string",
+ "readOnly": true
+ },
+ "alertType": {
+ "description": "Alert type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "appearedAtDateTime": {
+ "format": "date-time",
+ "description": "UTC time when the alert appeared.",
+ "type": "string",
+ "readOnly": true
+ },
+ "recommendation": {
+ "description": "Alert recommendation.",
+ "type": "string",
+ "readOnly": true
+ },
+ "severity": {
+ "description": "Severity of the alert.",
+ "enum": [
+ "Informational",
+ "Warning",
+ "Critical"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "AlertSeverity",
+ "modelAsString": true
+ }
+ },
+ "errorDetails": {
+ "$ref": "#/definitions/AlertErrorDetails",
+ "description": "Error details of the alert.",
+ "readOnly": true
+ },
+ "detailedInformation": {
+ "description": "Alert details.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "ARMBaseModel": {
+ "description": "Represents the base class for all object models.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "AsymmetricEncryptedSecret": {
+ "description": "Represent the secrets intended for encryption with asymmetric key pair.",
+ "required": [
+ "value",
+ "encryptionAlgorithm"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value of the secret.",
+ "type": "string"
+ },
+ "encryptionCertThumbprint": {
+ "description": "Thumbprint certificate used to encrypt \\\"Value\\\". If the value is unencrypted, it will be null.",
+ "type": "string"
+ },
+ "encryptionAlgorithm": {
+ "description": "The algorithm used to encrypt \"Value\".",
+ "enum": [
+ "None",
+ "AES256",
+ "RSAES_PKCS1_v_1_5"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "EncryptionAlgorithm",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Authentication": {
+ "description": "Authentication mechanism for IoT devices.",
+ "type": "object",
+ "properties": {
+ "symmetricKey": {
+ "$ref": "#/definitions/SymmetricKey",
+ "description": "Symmetric key for authentication."
+ }
+ }
+ },
+ "AzureContainerInfo": {
+ "description": "Azure container mapping of the endpoint.",
+ "required": [
+ "storageAccountCredentialId",
+ "containerName",
+ "dataFormat"
+ ],
+ "type": "object",
+ "properties": {
+ "storageAccountCredentialId": {
+ "description": "ID of the storage account credential used to access storage.",
+ "type": "string"
+ },
+ "containerName": {
+ "description": "Container name (Based on the data format specified, this represents the name of Azure Files/Page blob/Block blob).",
+ "type": "string"
+ },
+ "dataFormat": {
+ "description": "Storage format used for the file represented by the share.",
+ "enum": [
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "BandwidthSchedule": {
+ "description": "The bandwidth schedule details.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BandwidthScheduleProperties",
+ "description": "The properties of the bandwidth schedule.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "BandwidthScheduleProperties": {
+ "description": "The properties of the bandwidth schedule.",
+ "required": [
+ "start",
+ "stop",
+ "rateInMbps",
+ "days"
+ ],
+ "type": "object",
+ "properties": {
+ "start": {
+ "description": "The start time of the schedule in UTC.",
+ "type": "string"
+ },
+ "stop": {
+ "description": "The stop time of the schedule in UTC.",
+ "type": "string"
+ },
+ "rateInMbps": {
+ "format": "int32",
+ "description": "The bandwidth rate in Mbps.",
+ "type": "integer"
+ },
+ "days": {
+ "description": "The days of the week when this schedule is applicable.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "Sunday",
+ "Monday",
+ "Tuesday",
+ "Wednesday",
+ "Thursday",
+ "Friday",
+ "Saturday"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DayOfWeek",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "BandwidthSchedulesList": {
+ "description": "The collection of bandwidth schedules.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of bandwidth schedules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/BandwidthSchedule"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ClientAccessRight": {
+ "description": "The mapping between a particular client IP and the type of access client has on the NFS share.",
+ "required": [
+ "client",
+ "accessPermission"
+ ],
+ "type": "object",
+ "properties": {
+ "client": {
+ "description": "IP of the client.",
+ "type": "string"
+ },
+ "accessPermission": {
+ "description": "Type of access to be allowed for the client.",
+ "enum": [
+ "NoAccess",
+ "ReadOnly",
+ "ReadWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ClientPermissionType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "CloudError": {
+ "description": "An error response from the service.",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/CloudErrorBody",
+ "description": "The error details."
+ }
+ },
+ "x-ms-external": true
+ },
+ "CloudErrorBody": {
+ "description": "An error response from the service.",
+ "properties": {
+ "code": {
+ "description": "An identifier for the error. Codes are invariant and are intended to be consumed programmatically.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A message describing the error, intended to be suitable for display in a user interface.",
+ "type": "string"
+ },
+ "details": {
+ "description": "A list of additional details about the error.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ }
+ },
+ "x-ms-external": true
+ },
+ "ContactDetails": {
+ "description": "Contains all the contact details of the customer.",
+ "required": [
+ "contactPerson",
+ "companyName",
+ "phone",
+ "emailList"
+ ],
+ "type": "object",
+ "properties": {
+ "contactPerson": {
+ "description": "The contact person name.",
+ "type": "string"
+ },
+ "companyName": {
+ "description": "The name of the company.",
+ "type": "string"
+ },
+ "phone": {
+ "description": "The phone number.",
+ "type": "string"
+ },
+ "emailList": {
+ "description": "The email list.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "Container": {
+ "description": "Represents a container on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ContainerProperties",
+ "description": "The container properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ContainerList": {
+ "description": "Collection of all the containers on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of containers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Container"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ContainerProperties": {
+ "description": "The container properties.",
+ "required": [
+ "dataFormat"
+ ],
+ "type": "object",
+ "properties": {
+ "containerStatus": {
+ "description": "Current status of the container.",
+ "enum": [
+ "OK",
+ "Offline",
+ "Unknown",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "ContainerStatus",
+ "modelAsString": true
+ }
+ },
+ "dataFormat": {
+ "description": "DataFormat for Container",
+ "enum": [
+ "BlockBlob",
+ "PageBlob",
+ "AzureFile"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AzureContainerDataFormat",
+ "modelAsString": true
+ }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this container.",
+ "readOnly": true
+ },
+ "createdDateTime": {
+ "format": "date-time",
+ "description": "The UTC time when container got created.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevice": {
+ "description": "The Data Box Edge/Gateway device.",
+ "required": [
+ "location"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "location": {
+ "description": "The location of the device. This is a supported and registered Azure geographical region (for example, West US, East US, or Southeast Asia). The geographical region of a device cannot be changed once it is created, but if an identical geographical region is specified on update, the request will succeed.",
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "description": "The list of tags that describe the device. These tags can be used to view and group this device (across resource groups).",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "sku": {
+ "$ref": "#/definitions/Sku",
+ "description": "The SKU type."
+ },
+ "etag": {
+ "description": "The etag for the devices.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceProperties",
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfo": {
+ "description": "The extended Info of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/DataBoxEdgeDeviceExtendedInfoProperties",
+ "description": "The extended info properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceExtendedInfoProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device extended info.",
+ "type": "object",
+ "properties": {
+ "encryptionKeyThumbprint": {
+ "description": "The digital signature of encrypted certificate.",
+ "type": "string"
+ },
+ "encryptionKey": {
+ "description": "The public part of the encryption certificate. Client uses this to encrypt any secret.",
+ "type": "string"
+ },
+ "resourceKey": {
+ "description": "The Resource ID of the Resource.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDeviceList": {
+ "description": "The collection of Data Box Edge/Gateway devices.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Data Box Edge/Gateway devices.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeDevice"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeDevicePatch": {
+ "description": "The Data Box Edge/Gateway device patch.",
+ "type": "object",
+ "properties": {
+ "tags": {
+ "description": "The tags attached to the Data Box Edge/Gateway resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "DataBoxEdgeDeviceProperties": {
+ "description": "The properties of the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": {
+ "description": "The status of the Data Box Edge/Gateway device.",
+ "enum": [
+ "ReadyToSetup",
+ "Online",
+ "Offline",
+ "NeedsAttention",
+ "Disconnected",
+ "PartiallyDisconnected",
+ "Maintenance"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataBoxEdgeDeviceStatus",
+ "modelAsString": true
+ }
+ },
+ "serialNumber": {
+ "description": "The Serial Number of Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The Description of the Data Box Edge/Gateway device.",
+ "type": "string"
+ },
+ "modelDescription": {
+ "description": "The description of the Data Box Edge/Gateway device model.",
+ "type": "string"
+ },
+ "deviceType": {
+ "description": "The type of the Data Box Edge/Gateway device.",
+ "enum": [
+ "DataBoxEdgeDevice"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DeviceType",
+ "modelAsString": true
+ }
+ },
+ "friendlyName": {
+ "description": "The Data Box Edge/Gateway device name.",
+ "type": "string"
+ },
+ "culture": {
+ "description": "The Data Box Edge/Gateway device culture.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceModel": {
+ "description": "The Data Box Edge/Gateway device model.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceSoftwareVersion": {
+ "description": "The Data Box Edge/Gateway device software version.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceLocalCapacity": {
+ "format": "int64",
+ "description": "The Data Box Edge/Gateway device local capacity in MB.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "timeZone": {
+ "description": "The Data Box Edge/Gateway device timezone.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceHcsVersion": {
+ "description": "The device software version number of the device (eg: 1.2.18105.6).",
+ "type": "string",
+ "readOnly": true
+ },
+ "configuredRoleTypes": {
+ "description": "Type of compute roles configured.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ },
+ "readOnly": true
+ },
+ "nodeCount": {
+ "format": "int32",
+ "description": "The number of nodes in the cluster.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "DataBoxEdgeSku": {
+ "description": "The Sku information.",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Sku name.",
+ "enum": [
+ "Gateway",
+ "Edge",
+ "TEA_1Node",
+ "TEA_1Node_UPS",
+ "TEA_1Node_Heater",
+ "TEA_1Node_UPS_Heater",
+ "TEA_4Node_Heater",
+ "TEA_4Node_UPS_Heater",
+ "TMA",
+ "TDC",
+ "TCA_Large",
+ "TCA_Small",
+ "GPU"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "kind": {
+ "description": "The Sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The Sku tier.",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "size": {
+ "description": "The Sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The Sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "Availability of the Sku for the region.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "The API versions in which Sku is available.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Availability of the Sku for the location/zone/site.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "restrictions": {
+ "description": "Restriction info of the SKU.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuRestriction"
+ },
+ "readOnly": true
+ },
+ "signupOption": {
+ "description": "Can the SKU be signed up..",
+ "enum": [
+ "None",
+ "Available"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuSignupOption",
+ "modelAsString": true
+ }
+ },
+ "version": {
+ "description": "Sku version.",
+ "enum": [
+ "Stable",
+ "Preview"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuVersion",
+ "modelAsString": true
+ }
+ },
+ "availability": {
+ "description": "Is SKU available",
+ "enum": [
+ "Available",
+ "Unavailable"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuAvailability",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "DataBoxEdgeSkuList": {
+ "description": "List of SKU Information objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceType Sku",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataBoxEdgeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "FileEventTrigger": {
+ "description": "Trigger details.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Trigger"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/FileTriggerProperties",
+ "description": "File trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "FileEvent"
+ },
+ "FileSourceInfo": {
+ "description": "File source details.",
+ "required": [
+ "shareId"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "File share ID.",
+ "type": "string"
+ }
+ }
+ },
+ "FileTriggerProperties": {
+ "description": "File trigger properties.",
+ "required": [
+ "sourceInfo",
+ "sinkInfo"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/FileSourceInfo",
+ "description": "File event source details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role sink info."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "type": "string"
+ }
+ }
+ },
+ "ImageRepositoryCredential": {
+ "description": "Image repository credential.",
+ "required": [
+ "imageRepositoryUrl",
+ "userName"
+ ],
+ "type": "object",
+ "properties": {
+ "imageRepositoryUrl": {
+ "description": "Image repository url (e.g.: mcr.microsoft.com).",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Repository user name.",
+ "type": "string"
+ },
+ "password": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Repository user password."
+ }
+ }
+ },
+ "IoTDeviceInfo": {
+ "description": "Metadata of IoT device/IoT Edge device to be configured.",
+ "required": [
+ "deviceId",
+ "ioTHostHub"
+ ],
+ "type": "object",
+ "properties": {
+ "deviceId": {
+ "description": "ID of the IoT device/edge device.",
+ "type": "string"
+ },
+ "ioTHostHub": {
+ "description": "Host name for the IoT hub associated to the device.",
+ "type": "string"
+ },
+ "ioTHostHubId": {
+ "description": "Id for the IoT hub associated to the device.",
+ "type": "string"
+ },
+ "authentication": {
+ "$ref": "#/definitions/Authentication",
+ "description": "Encrypted IoT device/IoT edge device connection string."
+ }
+ }
+ },
+ "IoTEdgeAgentInfo": {
+ "description": "IoT edge agent details is optional, this will be used for download system Agent module while bootstrapping IoT Role if specified.",
+ "required": [
+ "imageName",
+ "tag"
+ ],
+ "type": "object",
+ "properties": {
+ "imageName": {
+ "description": "Name of the IoT edge agent image.",
+ "type": "string"
+ },
+ "tag": {
+ "description": "Image Tag.",
+ "type": "string"
+ },
+ "imageRepository": {
+ "$ref": "#/definitions/ImageRepositoryCredential",
+ "description": "Image repository details."
+ }
+ }
+ },
+ "IoTRole": {
+ "description": "Compute role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Role"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/IoTRoleProperties",
+ "description": "Properties specific to IoT role.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "IOT"
+ },
+ "IoTRoleProperties": {
+ "description": "IoT role properties.",
+ "required": [
+ "hostPlatform",
+ "ioTDeviceDetails",
+ "ioTEdgeDeviceDetails",
+ "roleStatus"
+ ],
+ "type": "object",
+ "properties": {
+ "hostPlatform": {
+ "description": "Host OS supported by the IoT role.",
+ "enum": [
+ "Windows",
+ "Linux"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PlatformType",
+ "modelAsString": true
+ }
+ },
+ "ioTDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT device metadata to which data box edge device needs to be connected."
+ },
+ "ioTEdgeDeviceDetails": {
+ "$ref": "#/definitions/IoTDeviceInfo",
+ "description": "IoT edge device to which the IoT role needs to be configured."
+ },
+ "shareMappings": {
+ "description": "Mount points of shares in role(s).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ }
+ },
+ "ioTEdgeAgentInfo": {
+ "$ref": "#/definitions/IoTEdgeAgentInfo",
+ "description": "Iot edge agent details to download the agent and bootstrap iot runtime."
+ },
+ "hostPlatformType": {
+ "description": "Platform where the Iot runtime is hosted.",
+ "enum": [
+ "KubernetesCluster",
+ "LinuxVM"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "HostPlatformType",
+ "modelAsString": true
+ }
+ },
+ "roleStatus": {
+ "description": "Role status.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleStatus",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Ipv4Config": {
+ "description": "Details related to the IPv4 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv4 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "subnet": {
+ "description": "The IPv4 subnet of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv4 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Ipv6Config": {
+ "description": "Details related to the IPv6 address configuration.",
+ "type": "object",
+ "properties": {
+ "ipAddress": {
+ "description": "The IPv6 address of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "prefixLength": {
+ "format": "int32",
+ "description": "The IPv6 prefix of the network adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "gateway": {
+ "description": "The IPv6 gateway of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Job": {
+ "description": "A device job.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The name of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The current status of the job.",
+ "enum": [
+ "Invalid",
+ "Running",
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Paused",
+ "Scheduled"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobStatus",
+ "modelAsString": true
+ }
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "The UTC date and time at which the job completed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "The percentage of the job that is complete.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "error": {
+ "$ref": "#/definitions/JobErrorDetails",
+ "description": "The error details.",
+ "readOnly": true
+ },
+ "properties": {
+ "$ref": "#/definitions/JobProperties",
+ "description": "The properties of the job.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "JobErrorDetails": {
+ "description": "The job error information containing the list of job errors.",
+ "type": "object",
+ "properties": {
+ "errorDetails": {
+ "description": "The error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/JobErrorItem"
+ },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobErrorItem": {
+ "description": "The job error items.",
+ "type": "object",
+ "properties": {
+ "recommendations": {
+ "description": "The recommended actions.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "code": {
+ "description": "The code intended for programmatic access.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The message that describes the error in detail.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "JobProperties": {
+ "description": "The properties for the job.",
+ "type": "object",
+ "properties": {
+ "jobType": {
+ "description": "The type of the job.",
+ "enum": [
+ "Invalid",
+ "ScanForUpdates",
+ "DownloadUpdates",
+ "InstallUpdates",
+ "RefreshShare",
+ "RefreshContainer"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "JobType",
+ "modelAsString": true
+ }
+ },
+ "currentStage": {
+ "description": "Current stage of the update operation.",
+ "enum": [
+ "Unknown",
+ "Initial",
+ "ScanStarted",
+ "ScanComplete",
+ "ScanFailed",
+ "DownloadStarted",
+ "DownloadComplete",
+ "DownloadFailed",
+ "InstallStarted",
+ "InstallComplete",
+ "InstallFailed",
+ "RebootInitiated",
+ "Success",
+ "Failure",
+ "RescanStarted",
+ "RescanComplete",
+ "RescanFailed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperationStage",
+ "modelAsString": true
+ }
+ },
+ "downloadProgress": {
+ "$ref": "#/definitions/UpdateDownloadProgress",
+ "description": "The download progress.",
+ "readOnly": true
+ },
+ "installProgress": {
+ "$ref": "#/definitions/UpdateInstallProgress",
+ "description": "The install progress.",
+ "readOnly": true
+ },
+ "totalRefreshErrors": {
+ "format": "int32",
+ "description": "Total number of errors encountered during the refresh process.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "errorManifestFile": {
+ "description": "Local share/remote container relative path to the error manifest file of the refresh.",
+ "type": "string",
+ "readOnly": true
+ },
+ "refreshedEntityId": {
+ "description": "ARM ID of the entity that was refreshed.",
+ "type": "string",
+ "readOnly": true
+ },
+ "folder": {
+ "description": "If only subfolders need to be refreshed, then the subfolder path inside the share or container. (The path is empty if there are no subfolders.)",
+ "type": "string"
+ }
+ }
+ },
+ "MetricDimension_V1": {
+ "description": "Metric Dimension v1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metrics dimension.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metrics dimension.",
+ "type": "string"
+ },
+ "toBeExportedForShoebox": {
+ "description": "To be exported to shoe box.",
+ "type": "boolean"
+ }
+ }
+ },
+ "MetricSpecification_V1": {
+ "description": "Metric specification version 1.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the metric.",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "Display name of the metric.",
+ "type": "string"
+ },
+ "displayDescription": {
+ "description": "Description of the metric to be displayed.",
+ "type": "string"
+ },
+ "unit": {
+ "description": "Metric units.",
+ "enum": [
+ "NotSpecified",
+ "Percent",
+ "Count",
+ "Seconds",
+ "Milliseconds",
+ "Bytes",
+ "BytesPerSecond",
+ "CountPerSecond"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricUnit",
+ "modelAsString": true
+ }
+ },
+ "aggregationType": {
+ "description": "Metric aggregation type.",
+ "enum": [
+ "NotSpecified",
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ },
+ "dimensions": {
+ "description": "Metric dimensions, other than default dimension which is resource.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricDimension_V1"
+ }
+ },
+ "fillGapWithZero": {
+ "description": "Set true to fill the gaps with zero.",
+ "type": "boolean"
+ },
+ "category": {
+ "description": "Metric category.",
+ "enum": [
+ "Capacity",
+ "Transaction"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricCategory",
+ "modelAsString": true
+ }
+ },
+ "resourceIdDimensionNameOverride": {
+ "description": "Resource name override.",
+ "type": "string"
+ },
+ "supportedTimeGrainTypes": {
+ "description": "Support granularity of metrics.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "PT1M",
+ "PT5M",
+ "PT15M",
+ "PT30M",
+ "PT1H",
+ "PT6H",
+ "PT12H",
+ "PT1D"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TimeGrain",
+ "modelAsString": true
+ }
+ }
+ },
+ "supportedAggregationTypes": {
+ "description": "Support metric aggregation type.",
+ "type": "array",
+ "items": {
+ "enum": [
+ "NotSpecified",
+ "None",
+ "Average",
+ "Minimum",
+ "Maximum",
+ "Total",
+ "Count"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MetricAggregationType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "MountPointMap": {
+ "description": "The share mount point.",
+ "required": [
+ "shareId"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "ID of the share mounted to the role VM.",
+ "type": "string"
+ },
+ "roleId": {
+ "description": "ID of the role to which share is mounted.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountPoint": {
+ "description": "Mount point for the share.",
+ "type": "string",
+ "readOnly": true
+ },
+ "mountType": {
+ "description": "Mounting type.",
+ "enum": [
+ "Volume",
+ "HostPath"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "MountType",
+ "modelAsString": true
+ }
+ },
+ "roleType": {
+ "description": "Role type.",
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NetworkAdapter": {
+ "description": "Represents the networkAdapter on a device.",
+ "type": "object",
+ "properties": {
+ "adapterId": {
+ "description": "Instance ID of network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "adapterPosition": {
+ "$ref": "#/definitions/NetworkAdapterPosition",
+ "description": "Hardware position of network adapter.",
+ "readOnly": true
+ },
+ "index": {
+ "format": "int32",
+ "description": "Logical index of the adapter.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "nodeId": {
+ "description": "Node ID of the network adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "networkAdapterName": {
+ "description": "Network adapter name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "label": {
+ "description": "Hardware label for the adapter.",
+ "type": "string",
+ "readOnly": true
+ },
+ "macAddress": {
+ "description": "MAC address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "linkSpeed": {
+ "format": "int64",
+ "description": "Link speed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Value indicating whether this adapter is valid.",
+ "enum": [
+ "Inactive",
+ "Active"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkAdapterStatus",
+ "modelAsString": true
+ }
+ },
+ "rdmaStatus": {
+ "description": "Value indicating whether this adapter is RDMA capable.",
+ "enum": [
+ "Incapable",
+ "Capable"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterRDMAStatus",
+ "modelAsString": true
+ }
+ },
+ "dhcpStatus": {
+ "description": "Value indicating whether this adapter has DHCP enabled.",
+ "enum": [
+ "Disabled",
+ "Enabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NetworkAdapterDHCPStatus",
+ "modelAsString": true
+ }
+ },
+ "ipv4Configuration": {
+ "$ref": "#/definitions/Ipv4Config",
+ "description": "The IPv4 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6Configuration": {
+ "$ref": "#/definitions/Ipv6Config",
+ "description": "The IPv6 configuration of the network adapter.",
+ "readOnly": true
+ },
+ "ipv6LinkLocalAddress": {
+ "description": "The IPv6 local address.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dnsServers": {
+ "description": "The list of DNS Servers of the device.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkAdapterPosition": {
+ "description": "The network adapter position.",
+ "type": "object",
+ "properties": {
+ "networkGroup": {
+ "description": "The network group.",
+ "enum": [
+ "None",
+ "NonRDMA",
+ "RDMA"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NetworkGroup",
+ "modelAsString": true
+ }
+ },
+ "port": {
+ "format": "int32",
+ "description": "The port.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "NetworkSettings": {
+ "description": "The network settings of a device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NetworkSettingsProperties",
+ "description": "The properties of network settings of a device.",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NetworkSettingsProperties": {
+ "description": "The properties of network settings.",
+ "type": "object",
+ "properties": {
+ "networkAdapters": {
+ "description": "The network adapter list on the device.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/NetworkAdapter"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Node": {
+ "description": "Represents a single node in a Data box Edge/Gateway device\r\nGateway devices, standalone Edge devices and a single node cluster Edge device will all have 1 node\r\nMulti-node Edge devices will have more than 1 nodes",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/NodeProperties",
+ "description": "The properties of the node",
+ "readOnly": true,
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "NodeList": {
+ "description": "Collection of Nodes.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of Nodes.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Node"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "NodeProperties": {
+ "description": "This class represents the nodes in a highly available cluster",
+ "type": "object",
+ "properties": {
+ "nodeStatus": {
+ "description": "The current status of the individual node",
+ "enum": [
+ "Unknown",
+ "Up",
+ "Down",
+ "Rebooting",
+ "ShuttingDown"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "NodeStatus",
+ "modelAsString": true
+ }
+ },
+ "nodeChassisSerialNumber": {
+ "description": "Serial number of the Chassis",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeSerialNumber": {
+ "description": "Serial number of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeDisplayName": {
+ "description": "Display Name of the individual node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeFriendlySoftwareVersion": {
+ "description": "Friendly software version name that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeHcsVersion": {
+ "description": "HCS version that is currently installed on the node",
+ "type": "string",
+ "readOnly": true
+ },
+ "nodeInstanceId": {
+ "description": "Guid instance id of the node",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Operation": {
+ "description": "Operations.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Name of the operation.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplay",
+ "description": "Properties displayed for the operation."
+ },
+ "origin": {
+ "description": "Origin of the operation.",
+ "type": "string"
+ },
+ "properties": {
+ "$ref": "#/definitions/OperationProperties",
+ "description": "Operation properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OperationDisplay": {
+ "description": "Operation display properties.",
+ "type": "object",
+ "properties": {
+ "provider": {
+ "description": "Provider name.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "The type of resource in which the operation is performed.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "Operation to be performed on the resource.",
+ "type": "string"
+ },
+ "description": {
+ "description": "Description of the operation to be performed.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationProperties": {
+ "description": "Operation properties.",
+ "type": "object",
+ "properties": {
+ "serviceSpecification": {
+ "$ref": "#/definitions/ServiceSpecification",
+ "description": "Service specification."
+ }
+ }
+ },
+ "OperationsList": {
+ "description": "The list of operations used for the discovery of available provider operations.",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string"
+ }
+ }
+ },
+ "Order": {
+ "description": "The order details.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/OrderProperties",
+ "description": "The order properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "OrderList": {
+ "description": "List of order entities.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of orders.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Order"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "OrderProperties": {
+ "description": "Order properties.",
+ "required": [
+ "contactInformation",
+ "shippingAddress"
+ ],
+ "type": "object",
+ "properties": {
+ "contactInformation": {
+ "$ref": "#/definitions/ContactDetails",
+ "description": "The contact details."
+ },
+ "shippingAddress": {
+ "$ref": "#/definitions/Address",
+ "description": "The shipping address."
+ },
+ "currentStatus": {
+ "$ref": "#/definitions/OrderStatus",
+ "description": "Current status of the order."
+ },
+ "orderHistory": {
+ "description": "List of status changes in the order.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OrderStatus"
+ },
+ "readOnly": true
+ },
+ "serialNumber": {
+ "description": "Serial number of the device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deliveryTrackingInfo": {
+ "description": "Tracking information for the package delivered to the customer whether it has an original or a replacement device.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackingInfo"
+ },
+ "readOnly": true
+ },
+ "returnTrackingInfo": {
+ "description": "Tracking information for the package returned from the customer whether it has an original or a replacement device.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/TrackingInfo"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "OrderStatus": {
+ "description": "Represents a single status change.",
+ "required": [
+ "status"
+ ],
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "Status of the order as per the allowed status types.",
+ "enum": [
+ "Untracked",
+ "AwaitingFulfilment",
+ "AwaitingPreparation",
+ "AwaitingShipment",
+ "Shipped",
+ "Arriving",
+ "Delivered",
+ "ReplacementRequested",
+ "LostDevice",
+ "Declined",
+ "ReturnInitiated",
+ "AwaitingReturnShipment",
+ "ShippedBack",
+ "CollectedAtMicrosoft"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "OrderState",
+ "modelAsString": true
+ }
+ },
+ "updateDateTime": {
+ "format": "date-time",
+ "description": "Time of status update.",
+ "type": "string",
+ "readOnly": true
+ },
+ "comments": {
+ "description": "Comments related to this status change.",
+ "type": "string"
+ },
+ "additionalOrderDetails": {
+ "description": "Dictionary to hold generic information which is not stored\r\nby the already existing properties",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "PeriodicTimerEventTrigger": {
+ "description": "Trigger details.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/Trigger"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PeriodicTimerProperties",
+ "description": "Periodic timer trigger properties.",
+ "x-ms-client-flatten": true
+ },
+ "id": {
+ "description": "The path ID that uniquely identifies the object.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The object name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "The hierarchical type of the object.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-discriminator-value": "PeriodicTimerEvent"
+ },
+ "PeriodicTimerProperties": {
+ "description": "Periodic timer trigger properties.",
+ "required": [
+ "sourceInfo",
+ "sinkInfo"
+ ],
+ "type": "object",
+ "properties": {
+ "sourceInfo": {
+ "$ref": "#/definitions/PeriodicTimerSourceInfo",
+ "description": "Periodic timer details."
+ },
+ "sinkInfo": {
+ "$ref": "#/definitions/RoleSinkInfo",
+ "description": "Role Sink information."
+ },
+ "customContextTag": {
+ "description": "A custom context tag typically used to correlate the trigger against its usage. For example, if a periodic timer trigger is intended for certain specific IoT modules in the device, the tag can be the name or the image URL of the module.",
+ "type": "string"
+ }
+ }
+ },
+ "PeriodicTimerSourceInfo": {
+ "description": "Periodic timer event source.",
+ "required": [
+ "startTime",
+ "schedule"
+ ],
+ "type": "object",
+ "properties": {
+ "startTime": {
+ "format": "date-time",
+ "description": "The time of the day that results in a valid trigger. Schedule is computed with reference to the time specified upto seconds. If timezone is not specified the time will considered to be in device timezone. The value will always be returned as UTC time.",
+ "type": "string"
+ },
+ "schedule": {
+ "description": "Periodic frequency at which timer event needs to be raised. Supports daily, hourly, minutes, and seconds.",
+ "type": "string"
+ },
+ "topic": {
+ "description": "Topic where periodic events are published to IoT device.",
+ "type": "string"
+ }
+ }
+ },
+ "RawCertificateData": {
+ "description": "Raw Certificate Data.",
+ "required": [
+ "certificate"
+ ],
+ "type": "object",
+ "properties": {
+ "authenticationType": {
+ "description": "The authentication type.",
+ "enum": [
+ "Invalid",
+ "AzureActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "certificate": {
+ "description": "The base64 encoded certificate raw data.",
+ "type": "string"
+ }
+ }
+ },
+ "RefreshDetails": {
+ "description": "Fields for tracking refresh job on the share or container.",
+ "type": "object",
+ "properties": {
+ "inProgressRefreshJobId": {
+ "description": "If a refresh job is currently in progress on this share or container, this field indicates the ARM resource ID of that job. The field is empty if no job is in progress.",
+ "type": "string"
+ },
+ "lastCompletedRefreshJobTimeInUTC": {
+ "format": "date-time",
+ "description": "Indicates the completed time for the last refresh job on this particular share or container, if any.This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "errorManifestFile": {
+ "description": "Indicates the relative path of the error xml for the last refresh job on this particular share or container, if any. This could be a failed job or a successful job.",
+ "type": "string"
+ },
+ "lastJob": {
+ "description": "Indicates the id of the last refresh job on this particular share or container,if any. This could be a failed job or a successful job.",
+ "type": "string"
+ }
+ }
+ },
+ "ResourceTypeSku": {
+ "description": "SkuInformation object",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The type of the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The Sku name",
+ "enum": [
+ "Gateway",
+ "Edge",
+ "TEA_1Node",
+ "TEA_1Node_UPS",
+ "TEA_1Node_Heater",
+ "TEA_1Node_UPS_Heater",
+ "TEA_4Node_Heater",
+ "TEA_4Node_UPS_Heater",
+ "TMA",
+ "TDC",
+ "TCA_Large",
+ "TCA_Small",
+ "GPU"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "kind": {
+ "description": "The Sku kind",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The Sku tier",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ },
+ "family": {
+ "description": "The Sku family",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "Availability of the SKU for the region",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "apiVersions": {
+ "description": "The API versions in which SKU is available",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "Availability of the SKU for the location/zone",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The pricing info of the Sku.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuCost"
+ },
+ "readOnly": true
+ },
+ "restrictions": {
+ "description": "Restrictions of the SKU availability.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuRestriction"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "Role": {
+ "description": "Compute role.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Role type.",
+ "enum": [
+ "IOT",
+ "ASA",
+ "Functions",
+ "Cognitive"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "RoleTypes",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "kind"
+ },
+ "RoleList": {
+ "description": "Collection of all the roles on the Data Box Edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The Value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Role"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "RoleSinkInfo": {
+ "description": "Compute role against which events will be raised.",
+ "required": [
+ "roleId"
+ ],
+ "type": "object",
+ "properties": {
+ "roleId": {
+ "description": "Compute role ID.",
+ "type": "string"
+ }
+ }
+ },
+ "SecuritySettings": {
+ "description": "The security settings of a device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SecuritySettingsProperties",
+ "description": "Properties of the security settings.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "SecuritySettingsProperties": {
+ "description": "The properties of security settings.",
+ "required": [
+ "deviceAdminPassword"
+ ],
+ "type": "object",
+ "properties": {
+ "deviceAdminPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Device administrator password as an encrypted string (encrypted using RSA PKCS #1) is used to sign into the local web UI of the device. The Actual password should have at least 8 characters that are a combination of uppercase, lowercase, numeric, and special characters."
+ }
+ }
+ },
+ "ServiceSpecification": {
+ "description": "Service specification.",
+ "type": "object",
+ "properties": {
+ "metricSpecifications": {
+ "description": "Metric specification as defined by shoebox.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MetricSpecification_V1"
+ }
+ }
+ }
+ },
+ "Share": {
+ "description": "Represents a share on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ShareProperties",
+ "description": "The share properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ShareAccessRight": {
+ "description": "Specifies the mapping between this particular user and the type of access he has on shares on this device.",
+ "required": [
+ "shareId",
+ "accessType"
+ ],
+ "type": "object",
+ "properties": {
+ "shareId": {
+ "description": "The share ID.",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed on the share for this user.",
+ "enum": [
+ "Change",
+ "Read",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "ShareList": {
+ "description": "Collection of all the shares on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of shares.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Share"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ShareProperties": {
+ "description": "The share properties.",
+ "required": [
+ "shareStatus",
+ "monitoringStatus",
+ "accessProtocol"
+ ],
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the share.",
+ "type": "string"
+ },
+ "shareStatus": {
+ "description": "Current status of the share.",
+ "enum": [
+ "Offline",
+ "Unknown",
+ "OK",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareStatus",
+ "modelAsString": true
+ }
+ },
+ "monitoringStatus": {
+ "description": "Current monitoring status of the share.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "MonitoringStatus",
+ "modelAsString": true
+ }
+ },
+ "azureContainerInfo": {
+ "$ref": "#/definitions/AzureContainerInfo",
+ "description": "Azure container mapping for the share."
+ },
+ "accessProtocol": {
+ "description": "Access protocol to be used by the share.",
+ "enum": [
+ "SMB",
+ "NFS"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessProtocol",
+ "modelAsString": true
+ }
+ },
+ "userAccessRights": {
+ "description": "Mapping of users and corresponding access rights on the share (required for SMB protocol).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/UserAccessRight"
+ }
+ },
+ "clientAccessRights": {
+ "description": "List of IP addresses and corresponding access rights on the share(required for NFS protocol).",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ClientAccessRight"
+ }
+ },
+ "refreshDetails": {
+ "$ref": "#/definitions/RefreshDetails",
+ "description": "Details of the refresh job on this share."
+ },
+ "shareMappings": {
+ "description": "Share mount point to the role.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MountPointMap"
+ },
+ "readOnly": true
+ },
+ "dataPolicy": {
+ "description": "Data policy of the share.",
+ "enum": [
+ "Cloud",
+ "Local"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "Sku": {
+ "description": "The SKU type.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "SKU name.",
+ "enum": [
+ "Gateway",
+ "Edge",
+ "TEA_1Node",
+ "TEA_1Node_UPS",
+ "TEA_1Node_Heater",
+ "TEA_1Node_UPS_Heater",
+ "TEA_4Node_Heater",
+ "TEA_4Node_UPS_Heater",
+ "TMA",
+ "TDC",
+ "TCA_Large",
+ "TCA_Small",
+ "GPU"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuName",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "description": "The SKU tier. This is based on the SKU name.",
+ "enum": [
+ "Standard"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SkuTier",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "SKUCapability": {
+ "description": "The capabilities of the SKU",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The capability name",
+ "type": "string",
+ "readOnly": true
+ },
+ "value": {
+ "description": "The capability value",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuCost": {
+ "description": "The metadata for retrieving price info.",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "Used for querying price from commerce.",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "format": "int64",
+ "description": "The cost quantity.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "extendedUnit": {
+ "description": "The extended unit.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SKUCost": {
+ "description": "The cost of the SKU",
+ "type": "object",
+ "properties": {
+ "meterId": {
+ "description": "The meter id",
+ "type": "string",
+ "readOnly": true
+ },
+ "quantity": {
+ "format": "int32",
+ "description": "The quantity",
+ "type": "integer",
+ "readOnly": true
+ },
+ "extendedUnit": {
+ "description": "The extended unit",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformation": {
+ "description": "Sku information",
+ "type": "object",
+ "properties": {
+ "resourceType": {
+ "description": "The resource type.",
+ "type": "string",
+ "readOnly": true
+ },
+ "name": {
+ "description": "The sku name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "tier": {
+ "description": "The sku tier.",
+ "type": "string",
+ "readOnly": true
+ },
+ "kind": {
+ "description": "The sku kind.",
+ "type": "string",
+ "readOnly": true
+ },
+ "size": {
+ "description": "The sku size.",
+ "type": "string",
+ "readOnly": true
+ },
+ "family": {
+ "description": "The sku family.",
+ "type": "string",
+ "readOnly": true
+ },
+ "locations": {
+ "description": "The locations where Sku is available.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "locationInfo": {
+ "description": "The locations where Sku is available with zones and sites info",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SkuLocationInfo"
+ },
+ "readOnly": true
+ },
+ "requiredQuotaIds": {
+ "description": "The required quotaIds for the sku to be available.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "requiredFeatures": {
+ "description": "The required features for the sku to be available.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "costs": {
+ "description": "The cost of the SKU",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SKUCost"
+ },
+ "readOnly": true
+ },
+ "capabilities": {
+ "description": "The capabilities of the SKU",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SKUCapability"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuInformationList": {
+ "description": "List of SKU Information objects",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "List of ResourceType Sku",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ResourceTypeSku"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Links to the next set of results",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuLocationInfo": {
+ "description": "The location info.",
+ "type": "object",
+ "properties": {
+ "location": {
+ "description": "The location.",
+ "type": "string",
+ "readOnly": true
+ },
+ "zones": {
+ "description": "The zones.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "sites": {
+ "description": "The sites.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "SkuRestriction": {
+ "description": "The restrictions because of which SKU cannot be used.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The type of the restriction.",
+ "type": "string",
+ "readOnly": true
+ },
+ "values": {
+ "description": "The locations where sku is restricted.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "reasonCode": {
+ "description": "The SKU restriction reason.",
+ "enum": [
+ "NotAvailableForSubscription",
+ "QuotaId"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "SkuRestrictionReasonCode",
+ "modelAsString": true
+ }
+ },
+ "restrictionInfo": {
+ "$ref": "#/definitions/SkuRestrictionInfo",
+ "description": "Restriction of the SKU for the location/zone",
+ "readOnly": true
+ }
+ }
+ },
+ "SkuRestrictionInfo": {
+ "description": "The restriction info with locations and zones.",
+ "type": "object",
+ "properties": {
+ "locations": {
+ "description": "The locations.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "zones": {
+ "description": "The zones.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccount": {
+ "description": "Represents a Storage Account on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageAccountProperties",
+ "description": "The Storage Account properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredential": {
+ "description": "The storage account credential.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/StorageAccountCredentialProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "StorageAccountCredentialList": {
+ "description": "The collection of storage account credentials.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The value.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccountCredential"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountCredentialProperties": {
+ "description": "The storage account credential properties.",
+ "required": [
+ "alias",
+ "sslStatus",
+ "accountType"
+ ],
+ "type": "object",
+ "properties": {
+ "alias": {
+ "description": "Alias for the storage account.",
+ "type": "string"
+ },
+ "userName": {
+ "description": "Username for the storage account.",
+ "type": "string"
+ },
+ "accountKey": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Encrypted storage key."
+ },
+ "connectionString": {
+ "description": "Connection string for the storage account. Use this string if username and account key are not specified.",
+ "type": "string"
+ },
+ "sslStatus": {
+ "description": "Signifies whether SSL needs to be enabled or not.",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SSLStatus",
+ "modelAsString": true
+ }
+ },
+ "blobDomainName": {
+ "description": "Blob end point for private clouds.",
+ "type": "string"
+ },
+ "accountType": {
+ "description": "Type of storage accessed on the storage account.",
+ "enum": [
+ "GeneralPurposeStorage",
+ "BlobStorage"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccountType",
+ "modelAsString": true
+ }
+ },
+ "storageAccountId": {
+ "description": "Id of the storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "StorageAccountList": {
+ "description": "Collection of all the Storage Accounts on the Data Box Edge/Gateway device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of storageAccounts.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/StorageAccount"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "StorageAccountProperties": {
+ "description": "The storage account properties.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "Description for the storage Account.",
+ "type": "string"
+ },
+ "storageAccountStatus": {
+ "description": "Current status of the storage account",
+ "enum": [
+ "OK",
+ "Offline",
+ "Unknown",
+ "Updating",
+ "NeedsAttention"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StorageAccountStatus",
+ "modelAsString": true
+ }
+ },
+ "dataPolicy": {
+ "description": "Data policy of the storage Account.",
+ "enum": [
+ "Cloud",
+ "Local"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "DataPolicy",
+ "modelAsString": true
+ }
+ },
+ "storageAccountCredentialId": {
+ "description": "Storage Account Credential Id",
+ "type": "string"
+ },
+ "blobEndpoint": {
+ "description": "BlobEndpoint of Storage Account",
+ "type": "string",
+ "readOnly": true
+ },
+ "containerCount": {
+ "format": "int32",
+ "description": "The Container Count. Present only for Storage Accounts with DataPolicy set to Cloud.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "SymmetricKey": {
+ "description": "Symmetric key for authentication.",
+ "type": "object",
+ "properties": {
+ "connectionString": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "Connection string based on the symmetric key."
+ }
+ }
+ },
+ "TrackingInfo": {
+ "description": "Tracking courier information.",
+ "type": "object",
+ "properties": {
+ "serialNumber": {
+ "description": "Serial number of the device being tracked.",
+ "type": "string"
+ },
+ "carrierName": {
+ "description": "Name of the carrier used in the delivery.",
+ "type": "string"
+ },
+ "trackingId": {
+ "description": "Tracking ID of the shipment.",
+ "type": "string"
+ },
+ "trackingUrl": {
+ "description": "Tracking URL of the shipment.",
+ "type": "string"
+ }
+ }
+ },
+ "Trigger": {
+ "description": "Trigger details.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "kind": {
+ "description": "Trigger Kind.",
+ "enum": [
+ "FileEvent",
+ "PeriodicTimerEvent"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "TriggerEventType",
+ "modelAsString": true
+ }
+ }
+ },
+ "discriminator": "kind"
+ },
+ "TriggerList": {
+ "description": "Collection of all trigger on the data box edge device.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of triggers.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Trigger"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateDownloadProgress": {
+ "description": "Details about the download progress of update.",
+ "type": "object",
+ "properties": {
+ "downloadPhase": {
+ "description": "The download phase.",
+ "enum": [
+ "Unknown",
+ "Initializing",
+ "Downloading",
+ "Verifying"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "DownloadPhase",
+ "modelAsString": true
+ }
+ },
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage of completion.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalBytesToDownload": {
+ "format": "double",
+ "description": "Total bytes to download.",
+ "type": "number",
+ "readOnly": true
+ },
+ "totalBytesDownloaded": {
+ "format": "double",
+ "description": "Total bytes downloaded.",
+ "type": "number",
+ "readOnly": true
+ },
+ "numberOfUpdatesToDownload": {
+ "format": "int32",
+ "description": "Number of updates to download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesDownloaded": {
+ "format": "int32",
+ "description": "Number of updates downloaded.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateInstallProgress": {
+ "description": "Progress details during installation of updates.",
+ "type": "object",
+ "properties": {
+ "percentComplete": {
+ "format": "int32",
+ "description": "Percentage completed.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesToInstall": {
+ "format": "int32",
+ "description": "Number of updates to install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "numberOfUpdatesInstalled": {
+ "format": "int32",
+ "description": "Number of updates installed.",
+ "type": "integer",
+ "readOnly": true
+ }
+ }
+ },
+ "UpdateSummary": {
+ "description": "Details about ongoing updates and availability of updates on the device.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UpdateSummaryProperties",
+ "description": "The device update information summary.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UpdateSummaryProperties": {
+ "description": "The device update information summary.",
+ "type": "object",
+ "properties": {
+ "deviceVersionNumber": {
+ "description": "The current version of the device in format: 1.2.17312.13.\",",
+ "type": "string"
+ },
+ "friendlyDeviceVersionName": {
+ "description": "The current version of the device in text format.",
+ "type": "string"
+ },
+ "deviceLastScannedDateTime": {
+ "format": "date-time",
+ "description": "The last time when a scan was done on the device.",
+ "type": "string"
+ },
+ "lastCompletedScanJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last scan job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string"
+ },
+ "lastCompletedDownloadJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Download job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "lastCompletedInstallJobDateTime": {
+ "format": "date-time",
+ "description": "The time when the last Install job was completed (success/cancelled/failed) on the appliance.",
+ "type": "string",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesAvailable": {
+ "format": "int32",
+ "description": "The number of updates available for the current device version as per the last device scan.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingDownload": {
+ "format": "int32",
+ "description": "The total number of items pending download.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "totalNumberOfUpdatesPendingInstall": {
+ "format": "int32",
+ "description": "The total number of items pending install.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "rebootBehavior": {
+ "description": "Indicates if updates are available and at least one of the updates needs a reboot.",
+ "enum": [
+ "NeverReboots",
+ "RequiresReboot",
+ "RequestReboot"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "InstallRebootBehavior",
+ "modelAsString": true
+ }
+ },
+ "ongoingUpdateOperation": {
+ "description": "The current update operation.",
+ "enum": [
+ "None",
+ "Scan",
+ "Download",
+ "Install"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "UpdateOperation",
+ "modelAsString": true
+ }
+ },
+ "inProgressDownloadJobId": {
+ "description": "The job ID of the download job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobId": {
+ "description": "The job ID of the install job in progress.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressDownloadJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running download (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "inProgressInstallJobStartedDateTime": {
+ "format": "date-time",
+ "description": "The time when the currently running install (if any) started.",
+ "type": "string",
+ "readOnly": true
+ },
+ "updateTitles": {
+ "description": "The list of updates available for install.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ },
+ "totalUpdateSizeInBytes": {
+ "format": "double",
+ "description": "The total size of updates available for download in bytes.",
+ "type": "number",
+ "readOnly": true
+ }
+ }
+ },
+ "UploadCertificateRequest": {
+ "description": "The upload certificate request.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/RawCertificateData",
+ "description": "The Base 64 encoded certificate raw data.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UploadCertificateResponse": {
+ "description": "The upload registration certificate response.",
+ "type": "object",
+ "properties": {
+ "authType": {
+ "description": "Specifies authentication type.",
+ "enum": [
+ "Invalid",
+ "AzureActiveDirectory"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AuthenticationType",
+ "modelAsString": true
+ }
+ },
+ "resourceId": {
+ "description": "The resource ID of the Data Box Edge/Gateway device.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadAuthority": {
+ "description": "Azure Active Directory tenant authority.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadTenantId": {
+ "description": "Azure Active Directory tenant ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalClientId": {
+ "description": "Azure Active Directory service principal client ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "servicePrincipalObjectId": {
+ "description": "Azure Active Directory service principal object ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "azureManagementEndpointAudience": {
+ "description": "The azure management endpoint audience.",
+ "type": "string",
+ "readOnly": true
+ },
+ "aadAudience": {
+ "description": "Identifier of the target resource that is the recipient of the requested token.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "User": {
+ "description": "Represents a user who has access to one or more shares on the Data Box Edge/Gateway device.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ARMBaseModel"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/UserProperties",
+ "description": "The storage account credential properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "UserAccessRight": {
+ "description": "The mapping between a particular user and the access type on the SMB share.",
+ "required": [
+ "userId",
+ "accessType"
+ ],
+ "type": "object",
+ "properties": {
+ "userId": {
+ "description": "User ID (already existing in the device).",
+ "type": "string"
+ },
+ "accessType": {
+ "description": "Type of access to be allowed for the user.",
+ "enum": [
+ "Change",
+ "Read",
+ "Custom"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "ShareAccessType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "UserList": {
+ "description": "Collection of users.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of users.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/User"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to the next set of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "UserProperties": {
+ "description": "The user properties.",
+ "required": [
+ "userType"
+ ],
+ "type": "object",
+ "properties": {
+ "encryptedPassword": {
+ "$ref": "#/definitions/AsymmetricEncryptedSecret",
+ "description": "The password details."
+ },
+ "shareAccessRights": {
+ "description": "List of shares that the user has rights on. This field should not be specified during user creation.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareAccessRight"
+ },
+ "readOnly": true
+ },
+ "userType": {
+ "description": "Type of the user.",
+ "enum": [
+ "Share",
+ "LocalManagement",
+ "ARM"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "UserType",
+ "modelAsString": true
+ }
+ }
+ }
+ }
+ },
+ "parameters": {
+ "apiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The API version.",
+ "required": true,
+ "type": "string"
+ },
+ "locationParameter": {
+ "name": "location",
+ "in": "path",
+ "description": "The location of the resource.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "The resource group name.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "subscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription ID.",
+ "required": true,
+ "type": "string"
+ }
+ },
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "flow": "implicit",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "scopes": {
+ "user_impersonation": "impersonate your user account."
+ }
+ }
+ },
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ]
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGet.json
new file mode 100644
index 000000000000..e829777055ee
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGet.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGetAllInDevice.json
new file mode 100644
index 000000000000..058be9650b25
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AlertGetAllInDevice.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "title": "Device password has changed",
+ "alertType": "PasswordChangedEvent",
+ "appearedAtDateTime": "2018-12-18T02:29:15.2325577Z",
+ "recommendation": "The device administrator password has changed. This is a required action as part of the first time device setup or regular password reset. No further action is required.",
+ "severity": "Informational",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 2
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "name": "83eccd0b-134b-40b0-ad62-b5f124d03790",
+ "type": "dataBoxEdgeDevices/alerts"
+ },
+ {
+ "properties": {
+ "title": "Could not scan for updates. Error message : 'An internal error has occurred. Please contact Microsoft Support.'.",
+ "alertType": "UpdateScanFailedEvent",
+ "appearedAtDateTime": "2018-12-18T02:18:51.4270267Z",
+ "recommendation": "Resolve the error : An internal error has occurred. Please contact Microsoft Support.",
+ "severity": "Critical",
+ "errorDetails": {
+ "errorCode": "",
+ "errorMessage": "",
+ "occurrences": 1
+ },
+ "detailedInformation": {}
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/alerts/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "type": "dataBoxEdgeDevices/alerts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AvailableSkusList.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AvailableSkusList.json
new file mode 100644
index 000000000000..100be9b2ed41
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/AvailableSkusList.json
@@ -0,0 +1,52 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "location": "westus",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "dataBoxEdeDevices",
+ "name": "Gateway",
+ "availability": "Available",
+ "tier": "Standard",
+ "kind": "AzureDataBoxGateway",
+ "version": "Stable",
+ "signupOption": "Available",
+ "locations": [
+ "West US"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US"
+ }
+ ],
+ "restrictions": [
+ {
+ "type": "location",
+ "values": [
+ "East US"
+ ],
+ "restrictionInfo": {
+ "locations": [
+ "East US"
+ ]
+ },
+ "reasonCode": "NotAvailableForSubscription"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleDelete.json
new file mode 100644
index 000000000000..b46c16246344
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGet.json
new file mode 100644
index 000000000000..6c5a7052d395
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGetAllInDevice.json
new file mode 100644
index 000000000000..d952c9942888
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthScheduleGetAllInDevice.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthSchedulePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthSchedulePut.json
new file mode 100644
index 000000000000..6a192fe36044
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/BandwidthSchedulePut.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "bandwidth-1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "start": "0:0:0",
+ "stop": "13:59:0",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "start": "00:00:00",
+ "stop": "13:59:00",
+ "rateInMbps": 100,
+ "days": [
+ "Sunday",
+ "Monday"
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/bandwidthSchedules/bandwidth-1",
+ "name": "bandwidth-1",
+ "type": "dataBoxEdgeDevices/bandwidthSchedules"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerDelete.json
new file mode 100644
index 000000000000..e69cb3ffc99a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerGet.json
new file mode 100644
index 000000000000..f777a5c71568
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerListAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerListAllInDevice.json
new file mode 100644
index 000000000000..9e68fda234f4
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerListAllInDevice.json
@@ -0,0 +1,56 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:14:32.3016929Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:15:38.0077675Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer2",
+ "name": "blobcontainer2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ },
+ {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/EAuToWIN-6LJVNIFFB411021190437191/storageAccounts/storageaccount1/containers/blobcontainer3",
+ "name": "blobcontainer3",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerPut.json
new file mode 100644
index 000000000000..c2917e20dc77
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerPut.json
@@ -0,0 +1,43 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "container": {
+ "properties": {
+ "dataFormat": "BlockBlob"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "containerStatus": "OK",
+ "dataFormat": "BlockBlob",
+ "refreshDetails": {},
+ "createdDateTime": "2019-10-20T23:13:27.8545799Z"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/storageaccount1/containers/blobcontainer1",
+ "name": "blobcontainer-5e155efe",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts/containers"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerRefresh.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerRefresh.json
new file mode 100644
index 000000000000..8a72270e6f5a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ContainerRefresh.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "containerName": "blobcontainer1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceDelete.json
new file mode 100644
index 000000000000..df86d5121027
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByName.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByName.json
new file mode 100644
index 000000000000..529220678891
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByName.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-16T08%3A03%3A27.61Z'\"_W/\"datetime'2018-12-16T08%3A03%3A27.653Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json
new file mode 100644
index 000000000000..77fb3d576d8d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetByResourceGroup.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A06.493Z'\"_W/\"datetime'2018-12-17T10%3A31%3A06.597Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-09-27T09%3A45%3A09.15Z'\"_W/\"datetime'2018-09-27T09%3A45%3A09.177Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice2",
+ "name": "testedgedevice2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A00.293Z'\"_W/\"datetime'2018-12-17T10%3A31%3A00.34Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice3",
+ "name": "testedgedevice3",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json
new file mode 100644
index 000000000000..24d19bbe4731
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDeviceGetBySubscription.json
@@ -0,0 +1,71 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A06.493Z'\"_W/\"datetime'2018-12-17T10%3A31%3A06.597Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-09-27T09%3A45%3A09.15Z'\"_W/\"datetime'2018-09-27T09%3A45%3A09.177Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice2",
+ "name": "testedgedevice2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ },
+ {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "\"W/\"datetime'2018-12-17T10%3A31%3A00.293Z'\"_W/\"datetime'2018-12-17T10%3A31%3A00.34Z'\"\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice3",
+ "name": "testedgedevice3",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePatch.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePatch.json
new file mode 100644
index 000000000000..197f56975010
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePatch.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "tags": {
+ "Key1": "value1",
+ "Key2": "value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {
+ "Key1": "value1",
+ "Key2": "value2"
+ },
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "etag": "W/\"datetime'2018-12-19T06%3A33%3A24.983Z'\"_W/\"datetime'2018-12-19T06%3A33%3A25.013Z'\"",
+ "properties": {
+ "dataBoxEdgeDeviceStatus": "ReadyToSetup",
+ "deviceType": "DataBoxEdgeDevice",
+ "deviceLocalCapacity": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePut.json
new file mode 100644
index 000000000000..d77a070a559a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DataBoxEdgeDevicePut.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "DataBoxEdgeDevice": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "location": "WUS",
+ "tags": {},
+ "sku": {
+ "name": "Edge",
+ "tier": "Standard"
+ },
+ "name": "testedgedevice"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DownloadUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DownloadUpdatesPost.json
new file mode 100644
index 000000000000..edf388b1856a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/DownloadUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ExtendedInfoPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ExtendedInfoPost.json
new file mode 100644
index 000000000000..32e39f14ff95
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ExtendedInfoPost.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "resourceKey": "3482840729935603111",
+ "encryptionKeyThumbprint": "",
+ "encryptionKey": ""
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice",
+ "name": "testedgedevice",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/InstallUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/InstallUpdatesPost.json
new file mode 100644
index 000000000000..edf388b1856a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/InstallUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/JobsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/JobsGet.json
new file mode 100644
index 000000000000..d87d0e7c7994
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/JobsGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/jobs/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ListSkus.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ListSkus.json
new file mode 100644
index 000000000000..63d53d236863
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ListSkus.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "location": "westus",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "resourceType": "dataBoxEdeDevices",
+ "name": "Gateway",
+ "tier": "Standard",
+ "locations": [
+ "West US"
+ ],
+ "locationInfo": [
+ {
+ "location": "West US"
+ }
+ ],
+ "apiVersions": [
+ "2020-05-01-preview"
+ ],
+ "restrictions": [
+ {
+ "type": "location",
+ "values": [
+ "East US"
+ ],
+ "restrictionInfo": {
+ "locations": [
+ "East US"
+ ]
+ },
+ "reasonCode": "NotAvailableForSubscription"
+ }
+ ]
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NetworkSettingsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NetworkSettingsGet.json
new file mode 100644
index 000000000000..8167b0879c6f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NetworkSettingsGet.json
@@ -0,0 +1,58 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "networkAdapters": [
+ {
+ "adapterId": "{47D0D0EC-AA8A-4221-AA2A-355B58082BA5}",
+ "adapterPosition": {
+ "networkGroup": "NonRDMA",
+ "port": 0
+ },
+ "index": 1,
+ "nodeId": "3fd54d9e-f7a0-45bf-bdf1-39b0977d1984",
+ "networkAdapterName": "DATA1",
+ "label": "DATA1",
+ "macAddress": "00155D4E265B",
+ "linkSpeed": 10000000000,
+ "status": "Inactive",
+ "rdmaStatus": "Incapable",
+ "dhcpStatus": "Disabled",
+ "ipv4Configuration": {
+ "ipAddress": "10.150.78.56",
+ "subnet": "255.255.252.0",
+ "gateway": "10.150.76.1"
+ },
+ "ipv6Configuration": {
+ "ipAddress": "2404:f801:4800:1e:d5c6:50a1:465b:1bbf",
+ "prefixLength": 64,
+ "gateway": "fe80::12f3:11ff:fe36:994b%5"
+ },
+ "ipv6LinkLocalAddress": "fe80::d5c6:50a1:465b:1bbf%5",
+ "dnsServers": [
+ "10.50.50.50",
+ "10.50.10.50"
+ ]
+ }
+ ]
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/networkSettings/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NodeGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NodeGetAllInDevice.json
new file mode 100644
index 000000000000..9930117b2223
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/NodeGetAllInDevice.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1D6QHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ad051874-7d27-4ac4-a7b1-b6f231d8a035"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1D6QHQ2",
+ "name": "1D6QHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ },
+ {
+ "properties": {
+ "nodeStatus": "Unknown",
+ "nodeChassisSerialNumber": "1D6QHQ2",
+ "nodeSerialNumber": "1DCNHQ2",
+ "nodeDisplayName": "Controller 1",
+ "nodeFriendlySoftwareVersion": "Data Box Edge 1908",
+ "nodeHcsVersion": "1.6.961.8307",
+ "nodeInstanceId": "ddf3a76d-ada4-44af-99c6-a69a0e21bcb6"
+ },
+ "id": "/subscriptions/db4e2fdb-6d80-4e6e-b7cd-736098270664/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/DataBoxEdgeDevices/testedgedevice/nodes/1DCNHQ2",
+ "name": "1DCNHQ2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/nodes"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsGet.json
new file mode 100644
index 000000000000..bf014355f7f8
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsGet.json
@@ -0,0 +1,675 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "List share users",
+ "description": "Lists or gets the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Creates or updates share users",
+ "description": "Creates or updates the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "share users",
+ "operation": "Delete share users",
+ "description": "Deletes the share users"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "List bandwidth schedules",
+ "description": "Lists or gets the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Creates or updates bandwidth schedules",
+ "description": "Creates or updates the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/bandwidthSchedules/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "bandwidth schedules",
+ "operation": "Delete bandwidth schedules",
+ "description": "Deletes the bandwidth schedules"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "List ArmApiRes_roles",
+ "description": "Lists or gets the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Creates or updates ArmApiRes_roles",
+ "description": "Creates or updates the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/roles/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "ArmApiRes_roles",
+ "operation": "Delete ArmApiRes_roles",
+ "description": "Deletes the ArmApiRes_roles"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "List shares",
+ "description": "Lists or gets the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Creates or updates shares",
+ "description": "Creates or updates the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/refresh/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "ArmApiOp_action_refresh_shares",
+ "description": "ArmApiDesc_action_refresh_shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/shares/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "shares",
+ "operation": "Delete shares",
+ "description": "Deletes the shares"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/uploadCertificate/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Upload certificates",
+ "description": "Upload certificate for device registration"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Delete Data Box Edge devices",
+ "description": "Deletes the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "List Data Box Edge devices",
+ "description": "Lists or gets the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Creates or updates Data Box Edge devices",
+ "description": "Creates or updates the Data Box Edge devices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/getExtendedInformation/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "ArmApiOp_action_getExtendedInformation_dataBoxEdgeDevices",
+ "description": "ArmApiDesc_action_getExtendedInformation_dataBoxEdgeDevices"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/extendedInformation/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Gets resource extended information",
+ "description": "Retrieves resource extended information"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/networkSettings/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device network settings",
+ "operation": "List Device network settings",
+ "description": "Lists or gets the Device network settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/securitySettings/update/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Device security settings",
+ "operation": "Update security settings",
+ "description": "Update security settings"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "update summary",
+ "operation": "List update summary",
+ "description": "Lists or gets the update summary"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/scanForUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Scan for updates",
+ "description": "Scan for updates"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/downloadUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Download Updates",
+ "description": "Download Updates in device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/installUpdates/action",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge devices",
+ "operation": "Install Updates",
+ "description": "Install Updates on device"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/jobs/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "jobs",
+ "operation": "List jobs",
+ "description": "Lists or gets the jobs"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Creates or updates storage account credentials",
+ "description": "Creates or updates the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "List storage account credentials",
+ "description": "Lists or gets the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials/delete",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "storage account credentials",
+ "operation": "Delete storage account credentials",
+ "description": "Deletes the storage account credentials"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/alerts/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "alerts",
+ "operation": "List alerts",
+ "description": "Lists or gets the alerts"
+ },
+ "origin": "user"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read Data Box Edge device metric definition",
+ "description": "Gets the available Data Box Edge device level metrics"
+ },
+ "origin": "system",
+ "properties": {
+ "serviceSpecification": {
+ "metricSpecifications": [
+ {
+ "name": "NICReadThroughput",
+ "displayName": "Read Throughput (Network)",
+ "displayDescription": "The read throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "NICWriteThroughput",
+ "displayName": "Write Throughput (Network)",
+ "displayDescription": "The write throughput of the network interface on the device in the reporting period for all volumes in the gateway.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "InstanceName",
+ "displayName": "Name",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughputPerShare",
+ "displayName": "Cloud Download Throughput (Share)",
+ "displayDescription": "The download throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughputPerShare",
+ "displayName": "Cloud Upload Throughput (Share)",
+ "displayDescription": "The upload throughput to Azure from a share during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloudPerShare",
+ "displayName": "Cloud Bytes Uploaded (Share)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a share during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [
+ {
+ "name": "Share",
+ "displayName": "Share",
+ "toBeExportedForShoebox": true
+ }
+ ],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT1M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "TotalCapacity",
+ "displayName": "Total Capacity",
+ "displayDescription": "Total Capacity",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "AvailableCapacity",
+ "displayName": "Available Capacity",
+ "displayDescription": "The available capacity in bytes during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Capacity",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudUploadThroughput",
+ "displayName": "Cloud Upload Throughput",
+ "displayDescription": "The cloud upload throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "CloudReadThroughput",
+ "displayName": "Cloud Read Throughput",
+ "displayDescription": "The cloud download throughput during the reporting period.",
+ "unit": "BytesPerSecond",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ },
+ {
+ "name": "BytesUploadedToCloud",
+ "displayName": "Cloud Bytes Uploaded (Device)",
+ "displayDescription": "The total number of bytes that is uploaded to Azure from a device during the reporting period.",
+ "unit": "Bytes",
+ "aggregationType": "Average",
+ "dimensions": [],
+ "fillGapWithZero": false,
+ "category": "Transaction",
+ "supportedTimeGrainTypes": [
+ "PT5M",
+ "PT15M",
+ "PT1H"
+ ],
+ "supportedAggregationTypes": [
+ "Average",
+ "Minimum",
+ "Maximum"
+ ]
+ }
+ ]
+ }
+ }
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Write diagnostics setting",
+ "description": "Creates or updates the diagnostics setting for the resource"
+ },
+ "origin": "system"
+ },
+ {
+ "name": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/providers/Microsoft.Insights/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft.DataBoxEdge",
+ "resource": "Data Box Edge device",
+ "operation": "Read diagnostics setting",
+ "description": "Gets the diagnostic setting for the resource"
+ },
+ "origin": "system"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsStatusGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsStatusGet.json
new file mode 100644
index 000000000000..8fd09a4313e9
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OperationsStatusGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/id/locations/westus/operationsStatus/159a00c7-8543-4343-9435-263ac87df3bb",
+ "name": "159a00c7-8543-4343-9435-263ac87df3bb",
+ "status": "Succeeded",
+ "startTime": "2018-12-18T02:18:51.4270267Z",
+ "endTime": "2018-12-18T03:18:51.4270267Z",
+ "percentComplete": 100,
+ "properties": {
+ "jobType": "DownloadUpdates",
+ "currentStage": "Success"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderDelete.json
new file mode 100644
index 000000000000..df86d5121027
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGet.json
new file mode 100644
index 000000000000..7393c1e6588f
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGet.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGetAllInDevice.json
new file mode 100644
index 000000000000..128e6415ccbb
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderGetAllInDevice.json
@@ -0,0 +1,61 @@
+{
+ "parameters": {
+ "api-version": "2019-03-01",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderPut.json
new file mode 100644
index 000000000000..9d3506275641
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/OrderPut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "order": {
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/orders/default",
+ "name": "default",
+ "type": "dataBoxEdgeDevices/orders",
+ "properties": {
+ "contactInformation": {
+ "contactPerson": "John Mcclane",
+ "companyName": "Microsoft",
+ "phone": "(800) 426-9400",
+ "emailList": [
+ "john@microsoft.com"
+ ]
+ },
+ "shippingAddress": {
+ "addressLine1": "Microsoft Corporation",
+ "addressLine2": "One Microsoft Way",
+ "addressLine3": "Redmond",
+ "postalCode": "98052",
+ "city": "WA",
+ "state": "WA",
+ "country": "USA"
+ },
+ "currentStatus": {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": ""
+ },
+ "orderHistory": [
+ {
+ "status": "Untracked",
+ "updateDateTime": "2018-12-10T07:59:05.847Z",
+ "comments": "lorem ipsum"
+ }
+ ],
+ "serialNumber": "UDS123NSDA123",
+ "deliveryTrackingInfo": [],
+ "returnTrackingInfo": []
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleDelete.json
new file mode 100644
index 000000000000..a5b6b867ef4a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleDelete.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGet.json
new file mode 100644
index 000000000000..826a9f8c4367
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGet.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGetAllInDevice.json
new file mode 100644
index 000000000000..32f8594d7a14
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RoleGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "kind": "IOT",
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RolePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RolePut.json
new file mode 100644
index 000000000000..d093b26030fa
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/RolePut.json
@@ -0,0 +1,85 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "IoTRole1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "role": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "348586569999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {
+ "connectionString": {
+ "value": "Encrypted<>",
+ "encryptionCertThumbprint": "1245475856069999244",
+ "encryptionAlgorithm": "AES256"
+ }
+ }
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "kind": "IOT",
+ "properties": {
+ "hostPlatform": "Linux",
+ "ioTDeviceDetails": {
+ "deviceId": "iotdevice",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "ioTEdgeDeviceDetails": {
+ "deviceId": "iotEdge",
+ "ioTHostHub": "iothub.azure-devices.net",
+ "authentication": {
+ "symmetricKey": {}
+ }
+ },
+ "shareMappings": [],
+ "roleStatus": "Enabled"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/IoTRole1",
+ "name": "IoTRole1",
+ "type": "dataBoxEdgeDevices/roles"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACDelete.json
new file mode 100644
index 000000000000..01a649f80024
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGet.json
new file mode 100644
index 000000000000..c117fb14cf3c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGetAllInDevice.json
new file mode 100644
index 000000000000..de2303075043
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACGetAllInDevice.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "alias": "sac1128180128323",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "GeneralPurposeStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128323",
+ "name": "sac1128180128323",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ },
+ {
+ "properties": {
+ "alias": "sac1128180128312",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1128180128312",
+ "name": "sac1128180128312",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACPut.json
new file mode 100644
index 000000000000..ae4c2bb51f57
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SACPut.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "sac1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccountCredential": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "accountKey": {
+ "value": "lAeZEYi6rNP1/EyNaVUYmTSZEYyaIaWmwUsGwek0+xiZj54GM9Ue9/UA2ed/ClC03wuSit2XzM/cLRU5eYiFBwks23rGwiQOr3sruEL2a74EjPD050xYjA6M1I2hu/w2yjVHhn5j+DbXS4Xzi+rHHNZK3DgfDO3PkbECjPck+PbpSBjy9+6Mrjcld5DIZhUAeMlMHrFlg+WKRKB14o/og56u5/xX6WKlrMLEQ+y6E18dUwvWs2elTNoVO8PBE8SM/CfooX4AMNvaNdSObNBPdP+F6Lzc556nFNWXrBLRt0vC7s9qTiVRO4x/qCNaK/B4y7IqXMllwQFf4Np9UQ2ECA==",
+ "encryptionCertThumbprint": "2A9D8D6BE51574B5461230AEF02F162C5F01AD31",
+ "encryptionAlgorithm": "AES256"
+ },
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "alias": "sac1",
+ "userName": "cisbvt",
+ "sslStatus": "Disabled",
+ "accountType": "BlobStorage"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "name": "sac1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccountCredentials"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ScanForUpdatesPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ScanForUpdatesPost.json
new file mode 100644
index 000000000000..edf388b1856a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ScanForUpdatesPost.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SecuritySettingsUpdatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SecuritySettingsUpdatePost.json
new file mode 100644
index 000000000000..511f01e39772
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SecuritySettingsUpdatePost.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "AzureVM",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "securitySettings": {
+ "properties": {
+ "deviceAdminPassword": {
+ "value": "jJ5MvXa/AEWvwxviS92uCjatCXeyLYTy8jx/k105MjQRXT7i6Do8qpEcQ8d+OBbwmQTnwKW0CYyzzVRCc0uZcPCf6PsWtP4l6wvcKGAP66PwK68eEkTUOmp+wUHc4hk02kWmTWeAjBZkuDBP3xK1RnZo95g2RE4i1UgKNP5BEKCLd71O104DW3AWW41mh9XLWNOaxw+VjQY7wmvlE6XkvpkMhcGuha2u7lx8zi9ZkcMvJVYDYK36Fb/K3KhBAmDjjDmVq04jtBlcSTXQObt0nlj4BwGGtdrpeIpr67zqr5i3cPm6e6AleIaIhp6sI/uyGSMiT3oev2eg49u2ii7kVA==",
+ "encryptionAlgorithm": "AES256",
+ "encryptionCertThumbprint": "7DCBDFC44ED968D232C9A998FC105B5C70E84BE0"
+ }
+ }
+ }
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareDelete.json
new file mode 100644
index 000000000000..026fcf9d2017
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGet.json
new file mode 100644
index 000000000000..0524743d0b98
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGet.json
@@ -0,0 +1,45 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGetAllInDevice.json
new file mode 100644
index 000000000000..78f3c8136562
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareGetAllInDevice.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SharePut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SharePut.json
new file mode 100644
index 000000000000..5cca883119c0
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/SharePut.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "share": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Enabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "dataPolicy": "Cloud"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "",
+ "shareStatus": "Online",
+ "monitoringStatus": "Disabled",
+ "azureContainerInfo": {
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/sac1",
+ "containerName": "testContainerSMB",
+ "dataFormat": "BlockBlob"
+ },
+ "accessProtocol": "SMB",
+ "userAccessRights": [
+ {
+ "userId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "accessType": "Change"
+ }
+ ],
+ "clientAccessRights": [],
+ "refreshDetails": {},
+ "shareMappings": [],
+ "dataPolicy": "Cloud"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/smbshare",
+ "name": "smbshare",
+ "type": "dataBoxEdgeDevices/shares"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareRefreshPost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareRefreshPost.json
new file mode 100644
index 000000000000..a4efecfd7b1c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/ShareRefreshPost.json
@@ -0,0 +1,25 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "smbshare",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountDelete.json
new file mode 100644
index 000000000000..73e2c40793a3
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountDelete.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "storageaccount1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGet.json
new file mode 100644
index 000000000000..33d1d4a34592
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGetAllInDevice.json
new file mode 100644
index 000000000000..ed122e0b409c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountGetAllInDevice.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountPut.json
new file mode 100644
index 000000000000..4a37b3854833
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/StorageAccountPut.json
@@ -0,0 +1,47 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "storageAccountName": "blobstorageaccount1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "storageAccount": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "description": "It's an awesome storage account",
+ "storageAccountStatus": "OK",
+ "dataPolicy": "Cloud",
+ "storageAccountCredentialId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccountCredentials/cisbvt",
+ "blobEndpoint": "https://blobstorageaccount1.blob.testedge.microsoftdatabox.com/",
+ "containerCount": 0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForDataBoxEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/storageAccounts/blobstorageaccount1",
+ "name": "blobstorageaccount1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/storageAccounts"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerDelete.json
new file mode 100644
index 000000000000..f46231018958
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerDelete.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGet.json
new file mode 100644
index 000000000000..382d547534a2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGet.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGetAllInDevice.json
new file mode 100644
index 000000000000..902b6d4bc29d
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerGetAllInDevice.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerPut.json
new file mode 100644
index 000000000000..e1e12efbc7c6
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/TriggerPut.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "trigger1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "trigger": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "kind": "FileEvent"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "customContextTag": "CustomContextTags-1235346475",
+ "sourceInfo": {
+ "shareId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/shares/share1"
+ },
+ "sinkInfo": {
+ "roleId": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/roles/role1"
+ }
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/triggers/trigger1",
+ "name": "trigger1",
+ "type": "dataBoxEdgeDevices/triggers",
+ "kind": "FileEvent"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UpdateSummaryGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UpdateSummaryGet.json
new file mode 100644
index 000000000000..7ae88078f54c
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UpdateSummaryGet.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "deviceVersionNumber": "1.2.18183.2",
+ "friendlyDeviceVersionName": "Data Box Edge Virtual Device Preview Version 1.1",
+ "totalNumberOfUpdatesAvailable": 0,
+ "totalNumberOfUpdatesPendingDownload": 0,
+ "totalNumberOfUpdatesPendingInstall": 0,
+ "rebootBehavior": "NeverReboots",
+ "ongoingUpdateOperation": "None",
+ "totalUpdateSizeInBytes": 0.0
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/updateSummary/default",
+ "name": "default",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/updateSummary"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UploadCertificatePost.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UploadCertificatePost.json
new file mode 100644
index 000000000000..3d2b1e9c83dc
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UploadCertificatePost.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "parameters": {
+ "properties": {
+ "certificate": "MIIC9DCCAdygAwIBAgIQWJae7GNjiI9Mcv/gJyrOPTANBgkqhkiG9w0BAQUFADASMRAwDgYDVQQDDAdXaW5kb3dzMB4XDTE4MTEyNzAwMTA0NVoXDTIxMTEyODAwMTA0NVowEjEQMA4GA1UEAwwHV2luZG93czCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAKxkRExqxf0qH1avnyORptIbRC2yQwqe3EIbJ2FPKr5jtAppGeX/dGKrFSnX+7/0HFr77aJHafdpEAtOiLyJ4zCAVs0obZCCIq4qJdmjYUTU0UXH/w/YzXfQA0d9Zh9AN+NJBX9xj05NzgsT24fkgsK2v6mWJQXT7YcWAsl5sEYPnx1e+MrupNyVSL/RUJmrS+etJSysHtFeWRhsUhVAs1DD5ExJvBLU3WH0IsojEvpXcjrutB5/MDQNrd/StGI6WovoSSPH7FyT9tgERx+q+Yg3YUGzfaIPCctlrRGehcdtzdNoKd0rsX62yCq0U6POoSfwe22NJu41oAUMd7e6R8cCAwEAAaNGMEQwEwYDVR0lBAwwCgYIKwYBBQUHAwIwHQYDVR0OBBYEFDd0VxnS3LnMIfwc7xW4b4IZWG5GMA4GA1UdDwEB/wQEAwIFIDANBgkqhkiG9w0BAQUFAAOCAQEAPQRby2u9celvtvL/DLEb5Vt3/tPStRQC5MyTD62L5RT/q8E6EMCXVZNkXF5WlWucLJi/18tY+9PNgP9xWLJh7kpSWlWdi9KPtwMqKDlEH8L2TnQdjimt9XuiCrTnoFy/1X2BGLY/rCaUJNSd15QCkz2xeW+Z+YSk2GwAc/A/4YfNpqSIMfNuPrT76o02VdD9WmJUA3fS/HY0sU9qgQRS/3F5/0EPS+HYQ0SvXCK9tggcCd4O050ytNBMJC9qMOJ7yE0iOrFfOJSCfDAuPhn/rHFh79Kn1moF+/CE+nc0/2RPiLC8r54/rt5dYyyxJDfXg0a3VrrX39W69WZGW5OXiw=="
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "authType": "AzureActiveDirectory",
+ "resourceId": "392799901267771",
+ "aadAuthority": "https://login.windows.net",
+ "aadTenantId": "100b019d-4626-4a9e-a83c-9cff8fe41909",
+ "servicePrincipalClientId": "ffd8a688-82b1-4e5a-a4c1-7ede8c928e68",
+ "servicePrincipalObjectId": "cef6d40c-24e6-4a6f-bb9e-3ec60b4adec4",
+ "azureManagementEndpointAudience": "https://wus-bvtgateway.ext.trafficmanager.net/"
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserDelete.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserDelete.json
new file mode 100644
index 000000000000..bd146196546a
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserDelete.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGet.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGet.json
new file mode 100644
index 000000000000..2745ecccea79
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ "202": {
+ "body": ""
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGetAllInDevice.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGetAllInDevice.json
new file mode 100644
index 000000000000..f3e7d42ccd19
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserGetAllInDevice.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ]
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user2",
+ "name": "user2",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ },
+ {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserPut.json b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserPut.json
new file mode 100644
index 000000000000..ce1e4f0392cc
--- /dev/null
+++ b/specification/databoxedge/resource-manager/Microsoft.DataBoxEdge/preview/2020-05-01-preview/examples/UserPut.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-05-01-preview",
+ "subscriptionId": "4385cf00-2d3a-425a-832f-f4285b1c9dce",
+ "resourceGroupName": "GroupForEdgeAutomation",
+ "deviceName": "testedgedevice",
+ "name": "user1",
+ "Content-Type": [
+ "application/json; charset=utf-8"
+ ],
+ "Content-Length": [
+ "200"
+ ],
+ "x-ms-client-request-id": [
+ "a93b39a3-1ff4-42b8-a56f-43368d47e37a"
+ ],
+ "accept-language": [
+ "en-US"
+ ],
+ "user": {
+ "properties": {
+ "encryptedPassword": {
+ "value": "Password@1",
+ "encryptionAlgorithm": "None",
+ "encryptionCertThumbprint": "blah"
+ },
+ "userType": "Share"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "userType": "Share"
+ },
+ "id": "/subscriptions/4385cf00-2d3a-425a-832f-f4285b1c9dce/resourceGroups/GroupForEdgeAutomation/providers/Microsoft.DataBoxEdge/dataBoxEdgeDevices/testedgedevice/users/user1",
+ "name": "user1",
+ "type": "Microsoft.DataBoxEdge/dataBoxEdgeDevices/users"
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/databoxedge/resource-manager/readme.azureresourceschema.md b/specification/databoxedge/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..12341995da0e
--- /dev/null
+++ b/specification/databoxedge/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,60 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-databoxedge-2020-05-01-preview
+ - tag: schema-databoxedge-2019-08-01
+ - tag: schema-databoxedge-2019-07-01
+ - tag: schema-databoxedge-2019-03-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-databoxedge-2020-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-databoxedge-2020-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json
+
+```
+
+### Tag: schema-databoxedge-2019-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databoxedge-2019-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json
+
+```
+
+### Tag: schema-databoxedge-2019-07-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databoxedge-2019-07-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json
+
+```
+
+### Tag: schema-databoxedge-2019-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databoxedge-2019-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json
+
+```
diff --git a/specification/databoxedge/resource-manager/readme.cli.md b/specification/databoxedge/resource-manager/readme.cli.md
index 5716aafd4672..a98fad99fa79 100644
--- a/specification/databoxedge/resource-manager/readme.cli.md
+++ b/specification/databoxedge/resource-manager/readme.cli.md
@@ -47,6 +47,7 @@ cli:
- name: DataBoxEdgeDeviceGetByResourceGroup
- name: DataBoxEdgeDeviceGetBySubscription
- name: ListSkus
+ - name: ListAvailableSkus
- name: OperationsGet
- name: ContainerRefresh
- name: CreateOrUpdateSecuritySettings
diff --git a/specification/databoxedge/resource-manager/readme.md b/specification/databoxedge/resource-manager/readme.md
index 455345faee18..effc04cc665c 100644
--- a/specification/databoxedge/resource-manager/readme.md
+++ b/specification/databoxedge/resource-manager/readme.md
@@ -29,6 +29,15 @@ openapi-type: arm
tag: package-2019-08
```
+### Tag: package-2020-05-preview
+
+These settings apply only when `--tag=package-2020-05-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-05-preview'
+input-file:
+- Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json
+```
+
### Tag: package-2019-08
These settings apply only when `--tag=package-2019-08` is specified on the command line.
@@ -77,6 +86,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_databoxedge']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js databoxedge/resource-manager
```
## C#
@@ -128,6 +140,20 @@ batch:
- tag: package-2019-03
- tag: package-2019-07
- tag: package-2019-08
+ - tag: package-2020-05-preview
+```
+
+### Tag: package-2020-05-preview and java
+
+These settings apply only when `--tag=package-2020-05-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(tag) == 'package-2020-05-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.databoxedge.v2020_05_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/databoxedge/resource-manager/v2020_05_01_preview
+regenerate-manager: true
+generate-interface: true
```
### Tag: package-2019-08 and java
@@ -169,6 +195,10 @@ regenerate-manager: true
generate-interface: true
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -181,6 +211,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.DataBoxEdge/preview/2020-05-01-preview/databoxedge.json
- $(this-folder)/Microsoft.DataBoxEdge/stable/2019-08-01/databoxedge.json
- $(this-folder)/Microsoft.DataBoxEdge/stable/2019-07-01/databoxedge.json
- $(this-folder)/Microsoft.DataBoxEdge/stable/2019-03-01/databoxedge.json
diff --git a/specification/databoxedge/resource-manager/readme.python.md b/specification/databoxedge/resource-manager/readme.python.md
index b7c6cd2ccae4..6016f29d1038 100644
--- a/specification/databoxedge/resource-manager/readme.python.md
+++ b/specification/databoxedge/resource-manager/readme.python.md
@@ -23,10 +23,34 @@ Generate all API versions currently shipped for this package
```yaml $(python) && $(multiapi)
batch:
+ - tag: package-2020-05-preview
+ - tag: package-2019-08
- tag: package-2019-07
- tag: package-2019-03
```
+### Tag: package-2020-05-preview and python
+
+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)
+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
+```
+
+### Tag: package-2019-08 and python
+
+These settings apply only when `--tag=package-2019-08 --python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2019-08' && $(python)
+python:
+ namespace: azure.mgmt.databoxedge.v2019_08_01
+ output-folder: $(python-sdks-folder)/databoxedge/azure-mgmt-databoxedge/azure/mgmt/databoxedge/v2019_08_01
+```
+
### Tag: package-2019-07 and python
These settings apply only when `--tag=package-2019-07 --python` is specified on the command line.
diff --git a/specification/databoxedge/resource-manager/readme.ruby.md b/specification/databoxedge/resource-manager/readme.ruby.md
index c8c6afca17b3..5d72f44737e7 100644
--- a/specification/databoxedge/resource-manager/readme.ruby.md
+++ b/specification/databoxedge/resource-manager/readme.ruby.md
@@ -12,11 +12,22 @@ azure-arm: true
``` yaml $(ruby) && $(multiapi)
batch:
+ - tag: package-2020-05-preview
- tag: package-2019-08
- tag: package-2019-07
- tag: package-2019-03
```
+### Tag: package-2020-05-preview and ruby
+
+These settings apply only when `--tag=package-2020-05-preview --ruby` is specified on the command line.
+Please also specify `--ruby-sdks-folder=`.
+
+``` yaml $(tag) == 'package-2020-05-preview' && $(ruby)
+namespace: "Azure::DataBoxEdge::Mgmt::V2020_05_01_preview"
+output-folder: $(ruby-sdks-folder)/management/azure_mgmt_databoxedge/lib
+```
+
### Tag: package-2019-08 and ruby
These settings apply only when `--tag=package-2019-08 --ruby` is specified on the command line.
diff --git a/specification/databoxedge/resource-manager/readme.trenton.md b/specification/databoxedge/resource-manager/readme.trenton.md
new file mode 100644
index 000000000000..25f9a09eebb2
--- /dev/null
+++ b/specification/databoxedge/resource-manager/readme.trenton.md
@@ -0,0 +1,77 @@
+
+## trenton
+
+These settings apply only when `--trenton` is specified on the command line.
+
+``` yaml $(trenton)
+trenton:
+ cli-name: databoxedge
+ package-name: databoxedge
+clear-output-folder: true
+output-folder: $(trenton-output-folder)/databoxedge
+```
+## overrides
+
+These settings apply only when `--trenton` is specified on the command line.
+``` yaml $(trenton)
+overrides:
+ - where:
+ resource: "BandwidthSchedules"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "Containers"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 3
+ - where:
+ resource: "Devices"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 1
+ - where:
+ resource: "Devices"
+ method: "Update"
+ set:
+ - BodyPosition: 1
+ - where:
+ resource: "Orders"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 1
+ - where:
+ resource: "Roles"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "Shares"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "StorageAccountCredentials"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "StorageAccounts"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "Triggers"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ resource: "Users"
+ method: "CreateOrUpdate"
+ set:
+ - BodyPosition: 2
+ - where:
+ property: "SSLStatus"
+ set:
+ - GoFieldName: "SslStatus"
+```
\ No newline at end of file
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/databricks.json
index 26055abe6cff..348cc61d5dfa 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
@@ -134,6 +134,15 @@
},
"Create or update workspace with custom parameters": {
"$ref": "./examples/WorkspaceCreateWithParameters.json"
+ },
+ "Create a workspace which is ready for Customer-Managed Key (CMK) encryption": {
+ "$ref": "./examples/PrepareEncryption.json"
+ },
+ "Enable Customer-Managed Key (CMK) encryption on a workspace which is prepared for encryption": {
+ "$ref": "./examples/EnableEncryption.json"
+ },
+ "Revert Customer-Managed Key (CMK) encryption to Microsoft Managed Keys encryption on a workspace": {
+ "$ref": "./examples/DisableEncryption.json"
}
},
"parameters": [
@@ -466,7 +475,8 @@
"$ref": "#/definitions/ErrorResponse"
}
}
- }
+ },
+ "x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Databricks/workspaces/{workspaceName}/virtualNetworkPeerings": {
@@ -621,6 +631,10 @@
"readOnly": true,
"description": "The workspace URL which is of the format 'adb-{workspaceId}.{random}.azuredatabricks.net'",
"type": "string"
+ },
+ "storageAccountIdentity": {
+ "description": "The details of Managed Identity of Storage Account",
+ "$ref": "#/definitions/ManagedIdentityConfiguration"
}
},
"required": [
@@ -735,6 +749,28 @@
"modelAsString": true
}
},
+ "ManagedIdentityConfiguration": {
+ "description": "The Managed Identity details for storage account.",
+ "properties": {
+ "principalId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The objectId of the Managed Identity that is linked to the Managed Storage account.",
+ "readOnly": true
+ },
+ "tenantId": {
+ "type": "string",
+ "format": "uuid",
+ "description": "The tenant Id where the Managed Identity is created.",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "description": "The type of Identity created. It can be either SystemAssigned or UserAssigned.",
+ "readOnly": true
+ }
+ }
+ },
"WorkspaceCustomParameterType": {
"description": "Provisioning status of the workspace.",
"readOnly": true,
@@ -799,6 +835,10 @@
},
"WorkspaceCustomParameters": {
"properties": {
+ "amlWorkspaceId": {
+ "$ref": "#/definitions/WorkspaceCustomStringParameter",
+ "description": "The ID of a Azure Machine Learning workspace to link with Databricks workspace"
+ },
"customVirtualNetworkId": {
"$ref": "#/definitions/WorkspaceCustomStringParameter",
"description": "The ID of a Virtual Network where this Databricks Cluster should be created"
@@ -814,6 +854,18 @@
"enableNoPublicIp": {
"$ref": "#/definitions/WorkspaceCustomBooleanParameter",
"description": "Should the Public IP be Disabled?"
+ },
+ "prepareEncryption": {
+ "$ref": "#/definitions/WorkspaceCustomBooleanParameter",
+ "description": "Prepare the workspace for encryption. Enables the Managed Identity for managed storage account."
+ },
+ "encryption": {
+ "$ref": "#/definitions/WorkspaceEncryptionParameter",
+ "description": "Contains the encryption details for Customer-Managed Key (CMK) enabled workspace."
+ },
+ "requireInfrastructureEncryption": {
+ "$ref": "#/definitions/WorkspaceCustomBooleanParameter",
+ "description": "A boolean indicating whether or not the DBFS root file system will be enabled with secondary layer of encryption with platform managed keys for data at rest."
}
},
"description": "Custom Parameters used for Cluster Creation."
@@ -846,6 +898,51 @@
},
"description": "Provides details of the entity that created/updated the workspace."
},
+ "WorkspaceEncryptionParameter": {
+ "properties": {
+ "type": {
+ "$ref": "#/definitions/WorkspaceCustomParameterType",
+ "description": "The type of variable that this is"
+ },
+ "value": {
+ "$ref": "#/definitions/Encryption",
+ "description": "The value which should be used for this field."
+ }
+ },
+ "description": "The object that contains details of encryption used on the workspace."
+ },
+ "Encryption": {
+ "properties": {
+ "keySource": {
+ "type": "string",
+ "description": "The encryption keySource (provider). Possible values (case-insensitive): Default, Microsoft.Keyvault",
+ "enum": [
+ "Default",
+ "Microsoft.Keyvault"
+ ],
+ "x-ms-enum": {
+ "name": "KeySource",
+ "modelAsString": true
+ },
+ "default": "Default"
+ },
+ "KeyName": {
+ "type": "string",
+ "description": "The name of KeyVault key."
+ },
+ "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"
+ }
+ },
+ "description": "The object that contains details of encryption used on the workspace."
+ },
"WorkspaceProviderAuthorization": {
"properties": {
"principalId": {
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/DisableEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/DisableEncryption.json
new file mode 100644
index 000000000000..18b5d4db6e79
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/DisableEncryption.json
@@ -0,0 +1,130 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2018-04-01",
+ "parameters": {
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "encryption": {
+ "value": {
+ "keySource": "Default"
+ }
+ }
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myWorkspace",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "sku": {
+ "name": "premium"
+ },
+ "location": "East US 2",
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "customPrivateSubnetName": {
+ "type": "String",
+ "value": "PrivateBob"
+ },
+ "customPublicSubnetName": {
+ "type": "String",
+ "value": "PublicSarah"
+ },
+ "customVirtualNetworkId": {
+ "type": "String",
+ "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork"
+ },
+ "prepareEncryption": {
+ "type": "Bool",
+ "value": true
+ },
+ "encryption": {
+ "type": "Object",
+ "value": {
+ "keySource": "Default"
+ }
+ }
+ },
+ "provisioningState": "Succeeded",
+ "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json",
+ "authorizations": [
+ {
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "roleDefinitionId": "11111111-1111-1111-1111-111111111111"
+ }
+ ],
+ "createdBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "storageAccountIdentity": {
+ "principalId": "55555555-5555-5555-5555-555555555555",
+ "tenantId": "66666666-6666-6666-6666-666666666666",
+ "type": "SystemAssigned"
+ },
+ "updatedBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "createdDateTime": "2020-02-20T00:10:29.2858439Z",
+ "workspaceId": "5555555555555555",
+ "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "name": "myWorkspace",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": {
+ "environment": "dev"
+ },
+ "sku": {
+ "name": "premium"
+ },
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "provisioningState": "Accepted",
+ "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json",
+ "authorizations": [
+ {
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "roleDefinitionId": "11111111-1111-1111-1111-111111111111"
+ }
+ ],
+ "createdBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "updatedBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "createdDateTime": "2020-02-20T00:10:29.2858439Z",
+ "storageAccountIdentity": {
+ "principalId": "55555555-5555-5555-5555-555555555555",
+ "tenantId": "66666666-6666-6666-6666-666666666666",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/EnableEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/EnableEncryption.json
new file mode 100644
index 000000000000..efad023312fe
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/EnableEncryption.json
@@ -0,0 +1,139 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2018-04-01",
+ "parameters": {
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "prepareEncryption": {
+ "value": true
+ },
+ "encryption": {
+ "value": {
+ "keySource": "Microsoft.Keyvault",
+ "keyvaulturi": "https://myKeyVault.vault.azure.net/",
+ "KeyName": "myKeyName",
+ "keyversion": "00000000000000000000000000000000"
+ }
+ }
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myWorkspace",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "sku": {
+ "name": "premium"
+ },
+ "location": "East US 2",
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "customPrivateSubnetName": {
+ "type": "String",
+ "value": "PrivateBob"
+ },
+ "customPublicSubnetName": {
+ "type": "String",
+ "value": "PublicSarah"
+ },
+ "customVirtualNetworkId": {
+ "type": "String",
+ "value": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/myNetwork"
+ },
+ "prepareEncryption": {
+ "type": "Bool",
+ "value": true
+ },
+ "encryption": {
+ "type": "Object",
+ "value": {
+ "keySource": "Microsoft.Keyvault",
+ "keyvaulturi": "https://myKeyVault.vault.azure.net/",
+ "KeyName": "myKeyName",
+ "keyversion": "00000000000000000000000000000000"
+ }
+ }
+ },
+ "provisioningState": "Succeeded",
+ "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json",
+ "authorizations": [
+ {
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "roleDefinitionId": "11111111-1111-1111-1111-111111111111"
+ }
+ ],
+ "createdBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "storageAccountIdentity": {
+ "principalId": "55555555-5555-5555-5555-555555555555",
+ "tenantId": "66666666-6666-6666-6666-666666666666",
+ "type": "SystemAssigned"
+ },
+ "updatedBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "createdDateTime": "2020-02-20T00:10:29.2858439Z",
+ "workspaceId": "5555555555555555",
+ "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net"
+ }
+ }
+ },
+ "201": {
+ "headers": {},
+ "body": {
+ "name": "myWorkspace",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": {
+ "environment": "dev"
+ },
+ "sku": {
+ "name": "premium"
+ },
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "provisioningState": "Accepted",
+ "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json",
+ "authorizations": [
+ {
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "roleDefinitionId": "11111111-1111-1111-1111-111111111111"
+ }
+ ],
+ "createdBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "updatedBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "createdDateTime": "2020-02-20T00:10:29.2858439Z",
+ "storageAccountIdentity": {
+ "principalId": "55555555-5555-5555-5555-555555555555",
+ "tenantId": "66666666-6666-6666-6666-666666666666",
+ "type": "SystemAssigned"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/PrepareEncryption.json b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/PrepareEncryption.json
new file mode 100644
index 000000000000..f9b891f1d616
--- /dev/null
+++ b/specification/databricks/resource-manager/Microsoft.Databricks/stable/2018-04-01/examples/PrepareEncryption.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg",
+ "workspaceName": "myWorkspace",
+ "api-version": "2018-04-01",
+ "parameters": {
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": {
+ "prepareEncryption": {
+ "value": true
+ }
+ }
+ },
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "name": "myWorkspace",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "sku": {
+ "name": "premium"
+ },
+ "location": "East US 2",
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": null,
+ "provisioningState": "Succeeded",
+ "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json",
+ "authorizations": [
+ {
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "roleDefinitionId": "11111111-1111-1111-1111-111111111111"
+ }
+ ],
+ "createdBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "storageAccountIdentity": {
+ "principalId": "55555555-5555-5555-5555-555555555555",
+ "tenantId": "66666666-6666-6666-6666-666666666666",
+ "type": "SystemAssigned"
+ },
+ "updatedBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "createdDateTime": "2020-02-20T00:10:29.2858439Z",
+ "workspaceId": "5555555555555555",
+ "workspaceUrl": "adb-5555555555555555.19.azuredatabricks.net"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "name": "myWorkspace",
+ "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Databricks/workspaces/myWorkspace",
+ "type": "Microsoft.Databricks/workspaces",
+ "location": "East US 2",
+ "tags": {
+ "environment": "dev"
+ },
+ "sku": {
+ "name": "premium"
+ },
+ "properties": {
+ "managedResourceGroupId": "/subscriptions/subid/resourceGroups/myManagedRG",
+ "parameters": null,
+ "provisioningState": "Accepted",
+ "uiDefinitionUri": "https://path/to/workspaceCreateUiDefinition.json",
+ "authorizations": [
+ {
+ "principalId": "00000000-0000-0000-0000-000000000000",
+ "roleDefinitionId": "11111111-1111-1111-1111-111111111111"
+ }
+ ],
+ "createdBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "updatedBy": {
+ "oid": "22222222-2222-2222-2222-222222222222",
+ "puid": "33333333",
+ "applicationId": "44444444-4444-4444-4444-444444444444"
+ },
+ "createdDateTime": "2020-02-20T00:10:29.2858439Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/databricks/resource-manager/readme.azureresourceschema.md b/specification/databricks/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..d05e235cbedf
--- /dev/null
+++ b/specification/databricks/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-databricks-2018-04-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-databricks-2018-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-databricks-2018-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Databricks/stable/2018-04-01/databricks.json
+
+```
diff --git a/specification/databricks/resource-manager/readme.md b/specification/databricks/resource-manager/readme.md
index 2b393ef2e23a..5dd1d2e62ce0 100644
--- a/specification/databricks/resource-manager/readme.md
+++ b/specification/databricks/resource-manager/readme.md
@@ -74,6 +74,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js databricks/resource-manager
```
## Go
@@ -83,6 +86,10 @@ See configuration in [readme.go.md](./readme.go.md)
## Python
See configuration in [readme.python.md](./readme.python.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/datacatalog/resource-manager/readme.azureresourceschema.md b/specification/datacatalog/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..7c377f7a6300
--- /dev/null
+++ b/specification/datacatalog/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-datacatalog-2016-03-30
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-datacatalog-2016-03-30 and azureresourceschema
+
+``` yaml $(tag) == 'schema-datacatalog-2016-03-30' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataCatalog/stable/2016-03-30/datacatalog.json
+
+```
diff --git a/specification/datacatalog/resource-manager/readme.md b/specification/datacatalog/resource-manager/readme.md
index 02f87406e5e8..d8141c0ee469 100644
--- a/specification/datacatalog/resource-manager/readme.md
+++ b/specification/datacatalog/resource-manager/readme.md
@@ -54,6 +54,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js datacatalog/resource-manager
```
## C#
@@ -134,6 +137,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json
index 1419e260fad9..43909b01832d 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/datafactory.json
@@ -255,6 +255,57 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryFeaturesValue": {
+ "post": {
+ "tags": [
+ "exposureControl"
+ ],
+ "operationId": "ExposureControl_QueryFeatureValuesByFactory",
+ "x-ms-examples": {
+ "ExposureControl_QueryFeatureValuesByFactory": {
+ "$ref": "./examples/ExposureControl_QueryFeatureValuesByFactory.json"
+ }
+ },
+ "description": "Get list of exposure control features for specific factory.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "exposureControlBatchRequest",
+ "description": "The exposure control request for list of features.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ExposureControlBatchRequest"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ExposureControlBatchResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories": {
"get": {
"tags": [
@@ -3098,6 +3149,51 @@
}
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/triggers/{triggerName}/triggerRuns/{runId}/cancel": {
+ "post": {
+ "tags": [
+ "triggerruns"
+ ],
+ "operationId": "TriggerRuns_Cancel",
+ "x-ms-examples": {
+ "Triggers_Cancel": {
+ "$ref": "./examples/TriggerRuns_Cancel.json"
+ }
+ },
+ "description": "Cancel a single trigger instance by runId.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/triggerName"
+ },
+ {
+ "$ref": "#/parameters/runId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "TriggerRun has been cancelled."
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/queryTriggerRuns": {
"post": {
"tags": [
@@ -3616,6 +3712,373 @@
}
}
}
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks": {
+ "get": {
+ "tags": [
+ "managedVirtualNetworks"
+ ],
+ "operationId": "ManagedVirtualNetworks_ListByFactory",
+ "x-ms-examples": {
+ "ManagedVirtualNetworks_ListByFactory": {
+ "$ref": "./examples/ManagedVirtualNetworks_ListByFactory.json"
+ }
+ },
+ "description": "Lists managed Virtual Networks.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ManagedVirtualNetworkListResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}": {
+ "put": {
+ "tags": [
+ "managedVirtualNetworks"
+ ],
+ "operationId": "ManagedVirtualNetworks_CreateOrUpdate",
+ "x-ms-examples": {
+ "ManagedVirtualNetworks_Create": {
+ "$ref": "./examples/ManagedVirtualNetworks_Create.json"
+ }
+ },
+ "description": "Creates or updates a managed Virtual Network.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/managedVirtualNetworkName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the managed Virtual Network entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update."
+ },
+ {
+ "name": "managedVirtualNetwork",
+ "description": "Managed Virtual Network resource definition.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedVirtualNetworkResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ManagedVirtualNetworkResource"
+ }
+ },
+ "default": {
+ "description": "An error response received from PUT managed Virtual Network operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "managedVirtualNetworks"
+ ],
+ "operationId": "ManagedVirtualNetworks_Get",
+ "x-ms-examples": {
+ "ManagedVirtualNetworks_Get": {
+ "$ref": "./examples/ManagedVirtualNetworks_Get.json"
+ }
+ },
+ "description": "Gets a managed Virtual Network.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/managedVirtualNetworkName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the managed Virtual Network entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ManagedVirtualNetworkResource"
+ }
+ },
+ "default": {
+ "description": "An error response received from GET managed Virtual Network operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints": {
+ "get": {
+ "tags": [
+ "managedPrivateEndpoints"
+ ],
+ "operationId": "ManagedPrivateEndpoints_ListByFactory",
+ "x-ms-examples": {
+ "ManagedPrivateEndpoints_ListByFactory": {
+ "$ref": "./examples/ManagedPrivateEndpoints_ListByFactory.json"
+ }
+ },
+ "description": "Lists managed private endpoints.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/managedVirtualNetworkName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/managedPrivateEndpointListResponse"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Azure Data Factory service.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataFactory/factories/{factoryName}/managedVirtualNetworks/{managedVirtualNetworkName}/managedPrivateEndpoints/{managedPrivateEndpointName}": {
+ "put": {
+ "tags": [
+ "managedPrivateEndpoints"
+ ],
+ "operationId": "managedPrivateEndpoints_CreateOrUpdate",
+ "x-ms-examples": {
+ "ManagedVirtualNetworks_Create": {
+ "$ref": "./examples/ManagedPrivateEndpoints_Create.json"
+ }
+ },
+ "description": "Creates or updates a managed private endpoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/managedVirtualNetworkName"
+ },
+ {
+ "$ref": "#/parameters/managedPrivateEndpointName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the managed private endpoint entity. Should only be specified for update, for which it should match existing entity or can be * for unconditional update."
+ },
+ {
+ "name": "managedPrivateEndpoint",
+ "description": "Managed private endpoint resource definition.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ManagedPrivateEndpointResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ManagedPrivateEndpointResource"
+ }
+ },
+ "default": {
+ "description": "An error response received from PUT managed private endpoint operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "managedPrivateEndpoints"
+ ],
+ "operationId": "ManagedPrivateEndpoints_Get",
+ "x-ms-examples": {
+ "ManagedPrivateEndpoints_Get": {
+ "$ref": "./examples/ManagedPrivateEndpoints_Get.json"
+ }
+ },
+ "description": "Gets a managed private endpoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/managedVirtualNetworkName"
+ },
+ {
+ "$ref": "#/parameters/managedPrivateEndpointName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "If-None-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the managed private endpoint entity. Should only be specified for get. If the ETag matches the existing entity tag, or if * was provided, then no content will be returned."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK.",
+ "schema": {
+ "$ref": "#/definitions/ManagedPrivateEndpointResource"
+ }
+ },
+ "default": {
+ "description": "An error response received from GET managed private endpoint operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "managedPrivateEndpoints"
+ ],
+ "operationId": "ManagedPrivateEndpoints_Delete",
+ "x-ms-examples": {
+ "ManagedVirtualNetworks_Delete": {
+ "$ref": "./examples/ManagedPrivateEndpoints_Delete.json"
+ }
+ },
+ "description": "Deletes a managed private endpoint.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/factoryName"
+ },
+ {
+ "$ref": "#/parameters/managedVirtualNetworkName"
+ },
+ {
+ "$ref": "#/parameters/managedPrivateEndpointName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "204": {
+ "description": "No Content."
+ },
+ "default": {
+ "description": "An error response received from DELETE managed private endpoint operation.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ }
+ }
+ }
}
},
"definitions": {
@@ -5414,6 +5877,22 @@
}
}
},
+ "ExposureControlBatchRequest": {
+ "description": "A list of exposure control features.",
+ "type": "object",
+ "required": [
+ "exposureControlRequests"
+ ],
+ "properties": {
+ "exposureControlRequests": {
+ "type": "array",
+ "description": "List of exposure control features.",
+ "items": {
+ "$ref": "#/definitions/ExposureControlRequest"
+ }
+ }
+ }
+ },
"ExposureControlRequest": {
"type": "object",
"description": "The exposure control request.",
@@ -5428,6 +5907,22 @@
}
}
},
+ "ExposureControlBatchResponse": {
+ "description": "A list of exposure control feature values.",
+ "type": "object",
+ "required": [
+ "exposureControlResponses"
+ ],
+ "properties": {
+ "exposureControlResponses": {
+ "type": "array",
+ "description": "List of exposure control feature values.",
+ "items": {
+ "$ref": "#/definitions/ExposureControlResponse"
+ }
+ }
+ }
+ },
"ExposureControlResponse": {
"type": "object",
"description": "The exposure control response.",
@@ -5525,8 +6020,8 @@
"$ref": "#/definitions/LinkedServiceReference"
},
"folderPath": {
- "description": "Folder path for staging blob.",
- "type": "string"
+ "description": "Folder path for staging blob. Type: string (or Expression with resultType string)",
+ "type": "object"
}
}
},
@@ -5810,6 +6305,80 @@
"type",
"referenceName"
]
+ },
+ "managedPrivateEndpointListResponse": {
+ "description": "A list of managed private endpoint resources.",
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of managed private endpoints.",
+ "items": {
+ "$ref": "#/definitions/ManagedPrivateEndpointResource"
+ }
+ },
+ "nextLink": {
+ "description": "The link to the next page of results, if any remaining results exist.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedPrivateEndpointResource": {
+ "description": "Managed private endpoint resource type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "./entityTypes/ManagedPrivateEndpoint.json#/definitions/ManagedPrivateEndpoint",
+ "description": "Managed private endpoint properties."
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "ManagedVirtualNetworkListResponse": {
+ "description": "A list of managed Virtual Network resources.",
+ "type": "object",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of managed Virtual Networks.",
+ "items": {
+ "$ref": "#/definitions/ManagedVirtualNetworkResource"
+ }
+ },
+ "nextLink": {
+ "description": "The link to the next page of results, if any remaining results exist.",
+ "type": "string"
+ }
+ }
+ },
+ "ManagedVirtualNetworkResource": {
+ "description": "Managed Virtual Network resource type.",
+ "allOf": [
+ {
+ "$ref": "#/definitions/SubResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "./entityTypes/ManagedVirtualNetwork.json#/definitions/ManagedVirtualNetwork",
+ "description": "Managed Virtual Network properties."
+ }
+ },
+ "required": [
+ "properties"
+ ]
}
},
"parameters": {
@@ -5935,6 +6504,28 @@
"maxLength": 260,
"x-ms-parameter-location": "method"
},
+ "managedVirtualNetworkName": {
+ "name": "managedVirtualNetworkName",
+ "description": "Managed virtual network name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$",
+ "minLength": 1,
+ "maxLength": 127,
+ "x-ms-parameter-location": "method"
+ },
+ "managedPrivateEndpointName": {
+ "name": "managedPrivateEndpointName",
+ "description": "Managed private endpoint name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "pattern": "^([_A-Za-z0-9]|([_A-Za-z0-9][-_A-Za-z0-9]{0,125}[_A-Za-z0-9]))$",
+ "minLength": 1,
+ "maxLength": 127,
+ "x-ms-parameter-location": "method"
+ },
"api-version": {
"name": "api-version",
"description": "The API version.",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
index 52f028ae93c9..61a6bfadf4a7 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
@@ -472,6 +472,33 @@
}
}
},
+ "DatasetTarCompression": {
+ "x-ms-discriminator-value": "Tar",
+ "description": "The Tar archive method used on a dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatasetCompression"
+ }
+ ],
+ "properties": {}
+ },
+ "DatasetTarGZipCompression": {
+ "x-ms-discriminator-value": "TarGZip",
+ "description": "The TarGZip compression method used on a dataset.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DatasetCompression"
+ }
+ ],
+ "properties": {
+ "level": {
+ "description": "The TarGZip compression level.",
+ "$ref": "#/definitions/CompressionLevel"
+ }
+ }
+ },
"CompressionLevel": {
"title": "Microsoft.Azure.Management.DataFactories.Models.CompressionLevel",
"description": "All available compression levels.",
@@ -729,7 +756,9 @@
"deflate",
"zipDeflate",
"snappy",
- "lz4"
+ "lz4",
+ "tar",
+ "tarGZip"
],
"x-ms-enum": {
"name": "compressionCodec",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
index 0804d441a8f4..fe1f683bd72c 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
@@ -444,6 +444,38 @@
"componentName"
]
},
+ "AzPowerShellSetup": {
+ "description": "The express custom setup of installing Azure PowerShell.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CustomSetupBase"
+ }
+ ],
+ "properties": {
+ "typeProperties": {
+ "description": "Install Azure PowerShell type properties.",
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/AzPowerShellSetupTypeProperties"
+ }
+ },
+ "required": [
+ "typeProperties"
+ ]
+ },
+ "AzPowerShellSetupTypeProperties": {
+ "description": "Installation of Azure PowerShell type properties.",
+ "type": "object",
+ "properties": {
+ "version": {
+ "description": "The required version of Azure PowerShell to install.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "version"
+ ]
+ },
"EntityReference": {
"description": "The entity reference.",
"type": "object",
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
index 4b63d84add83..a25553b01b00 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
@@ -162,6 +162,10 @@
"type": "object",
"description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
},
+ "azureCloudType": {
+ "type": "object",
+ "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)."
+ },
"encryptedCredential": {
"type": "string",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
@@ -211,6 +215,10 @@
"type": "object",
"description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
},
+ "azureCloudType": {
+ "type": "object",
+ "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)."
+ },
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
@@ -307,6 +315,10 @@
"type": "object",
"description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
},
+ "azureCloudType": {
+ "type": "object",
+ "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)."
+ },
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
@@ -359,6 +371,10 @@
"type": "object",
"description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
},
+ "azureCloudType": {
+ "type": "object",
+ "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)."
+ },
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
@@ -965,6 +981,10 @@
"description": "The azure file share name. It is required when auth with accountKey/sasToken. Type: string (or Expression with resultType string).",
"type": "object"
},
+ "snapshot": {
+ "description": "The azure file share snapshot version. Type: string (or Expression with resultType string).",
+ "type": "object"
+ },
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
@@ -1739,6 +1759,10 @@
"type": "object",
"description": "Specify the application id of your application registered in Azure Active Directory. Type: string (or Expression with resultType string)."
},
+ "azureCloudType": {
+ "type": "object",
+ "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)."
+ },
"aadResourceId": {
"type": "object",
"description": "Specify the resource you are requesting authorization to use Directory. Type: string (or Expression with resultType string)."
@@ -2120,6 +2144,10 @@
"type": "object",
"description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
},
+ "azureCloudType": {
+ "type": "object",
+ "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)."
+ },
"accountName": {
"type": "object",
"description": "Data Lake Store account name. Type: string (or Expression with resultType string)."
@@ -2184,6 +2212,10 @@
"type": "object",
"description": "The name or ID of the tenant to which the service principal belongs. Type: string (or Expression with resultType string)."
},
+ "azureCloudType": {
+ "type": "object",
+ "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)."
+ },
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
@@ -2473,6 +2505,10 @@
"type": "object",
"description": "Language of the BW system where the open hub destination is located. The default value is EN. Type: string (or Expression with resultType string)."
},
+ "systemId": {
+ "type": "object",
+ "description": "SystemID of the SAP system where the table is located. Type: string (or Expression with resultType string)."
+ },
"userName": {
"type": "object",
"description": "Username to access the SAP BW server where the open hub destination is located. Type: string (or Expression with resultType string)."
@@ -2481,16 +2517,23 @@
"description": "Password to access the SAP BW server where the open hub destination is located.",
"$ref": "../datafactory.json#/definitions/SecretBase"
},
+ "messageServer": {
+ "type": "object",
+ "description": "The hostname of the SAP Message Server. Type: string (or Expression with resultType string)."
+ },
+ "messageServerService": {
+ "type": "object",
+ "description": "The service name or port number of the Message Server. Type: string (or Expression with resultType string)."
+ },
+ "logonGroup": {
+ "type": "object",
+ "description": "The Logon Group for the SAP System. Type: string (or Expression with resultType string)."
+ },
"encryptedCredential": {
"type": "object",
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string)."
}
- },
- "required": [
- "server",
- "systemNumber",
- "clientId"
- ]
+ }
},
"RestServiceLinkedService": {
"x-ms-discriminator-value": "RestService",
@@ -2557,6 +2600,10 @@
"description": "The tenant information (domain name or tenant ID) used in AadServicePrincipal authentication type under which your application resides.",
"type": "object"
},
+ "azureCloudType": {
+ "type": "object",
+ "description": "Indicates the azure cloud type of the service principle auth. Allowed values are AzurePublic, AzureChina, AzureUsGovernment, AzureGermany. Default value is the data factory regions’ cloud type. Type: string (or Expression with resultType string)."
+ },
"aadResourceId": {
"description": "The resource you are requesting authorization to use.",
"type": "object"
@@ -4326,6 +4373,10 @@
"QuickBooksLinkedServiceTypeProperties": {
"description": "QuickBooks server linked service properties.",
"properties": {
+ "connectionProperties": {
+ "description": "Properties used to connect to QuickBooks. It is mutually exclusive with any other properties in the linked service. Type: object.",
+ "type": "object"
+ },
"endpoint": {
"description": "The endpoint of the QuickBooks server. (i.e. quickbooks.api.intuit.com)",
"type": "object"
@@ -4358,15 +4409,7 @@
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
"type": "object"
}
- },
- "required": [
- "endpoint",
- "companyId",
- "consumerKey",
- "consumerSecret",
- "accessToken",
- "accessTokenSecret"
- ]
+ }
},
"ServiceNowLinkedService": {
"x-ms-discriminator-value": "ServiceNow",
@@ -4634,6 +4677,10 @@
"SquareLinkedServiceTypeProperties": {
"description": "Square Service linked service properties.",
"properties": {
+ "connectionProperties": {
+ "description": "Properties used to connect to Square. It is mutually exclusive with any other properties in the linked service. Type: object.",
+ "type": "object"
+ },
"host": {
"description": "The URL of the Square instance. (i.e. mystore.mysquare.com)",
"type": "object"
@@ -4666,12 +4713,7 @@
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
"type": "object"
}
- },
- "required": [
- "host",
- "clientId",
- "redirectUri"
- ]
+ }
},
"XeroLinkedService": {
"x-ms-discriminator-value": "Xero",
@@ -4696,6 +4738,10 @@
"XeroLinkedServiceTypeProperties": {
"description": "Xero Service linked service properties.",
"properties": {
+ "connectionProperties": {
+ "description": "Properties used to connect to Xero. It is mutually exclusive with any other properties in the linked service. Type: object.",
+ "type": "object"
+ },
"host": {
"description": "The endpoint of the Xero server. (i.e. api.xero.com)",
"type": "object"
@@ -4724,10 +4770,7 @@
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
"type": "object"
}
- },
- "required": [
- "host"
- ]
+ }
},
"ZohoLinkedService": {
"x-ms-discriminator-value": "Zoho",
@@ -4752,6 +4795,10 @@
"ZohoLinkedServiceTypeProperties": {
"description": "Zoho server linked service properties.",
"properties": {
+ "connectionProperties": {
+ "description": "Properties used to connect to Zoho. It is mutually exclusive with any other properties in the linked service. Type: object.",
+ "type": "object"
+ },
"endpoint": {
"description": "The endpoint of the Zoho server. (i.e. crm.zoho.com/crm/private)",
"type": "object"
@@ -4776,10 +4823,7 @@
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
"type": "object"
}
- },
- "required": [
- "endpoint"
- ]
+ }
},
"VerticaLinkedService": {
"x-ms-discriminator-value": "Vertica",
@@ -4878,6 +4922,10 @@
"SalesforceMarketingCloudLinkedServiceTypeProperties": {
"description": "Salesforce Marketing Cloud linked service properties.",
"properties": {
+ "connectionProperties": {
+ "description": "Properties used to connect to Salesforce Marketing Cloud. It is mutually exclusive with any other properties in the linked service. Type: object.",
+ "type": "object"
+ },
"clientId": {
"description": "The client ID associated with the Salesforce Marketing Cloud application. Type: string (or Expression with resultType string).",
"type": "object"
@@ -4902,10 +4950,7 @@
"description": "The encrypted credential used for authentication. Credentials are encrypted using the integration runtime credential manager. Type: string (or Expression with resultType string).",
"type": "object"
}
- },
- "required": [
- "clientId"
- ]
+ }
},
"HDInsightOnDemandLinkedService": {
"x-ms-discriminator-value": "HDInsightOnDemand",
@@ -5251,6 +5296,10 @@
"description": "Type: string (or Expression with resultType string)."
}
},
+ "newClusterLogDestination": {
+ "type": "object",
+ "description": "Specify a location to deliver Spark driver, worker, and event logs. Type: string (or Expression with resultType string)."
+ },
"newClusterDriverNodeType": {
"type": "object",
"description": "The driver node type for the new job cluster. This property is ignored in instance pool configurations. Type: string (or Expression with resultType string)."
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json
new file mode 100644
index 000000000000..2aa2ace47536
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedPrivateEndpoint.json
@@ -0,0 +1,70 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DataFactoryManagementClient",
+ "version": "2018-06-01"
+ },
+ "paths": {},
+ "definitions": {
+ "ManagedPrivateEndpoint": {
+ "description": "Properties of a managed private endpoint",
+ "type": "object",
+ "discriminator": "type",
+ "properties": {
+ "connectionState": {
+ "description": "The managed private endpoint connection state",
+ "$ref": "#/definitions/ConnectionStateProperties"
+ },
+ "fqdns": {
+ "description": "Fully qualified domain names",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "groupId": {
+ "description": "The groupId to which the managed private endpoint is created",
+ "type": "string"
+ },
+ "isReserved": {
+ "description": "Denotes whether the managed private endpoint is reserved",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "privateLinkResourceId": {
+ "description": "The ARM resource ID of the resource to which the managed private endpoint is created",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "The managed private endpoint provisioning state",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ },
+ "ConnectionStateProperties": {
+ "description": "The connection state of a managed private endpoint",
+ "type": "object",
+ "properties": {
+ "actionsRequired": {
+ "description": "The actions required on the managed private endpoint",
+ "type": "string",
+ "readOnly": true
+ },
+ "description": {
+ "description": "The managed private endpoint description",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "The approval status",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json
new file mode 100644
index 000000000000..e1a1e226c159
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/ManagedVirtualNetwork.json
@@ -0,0 +1,30 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "DataFactoryManagementClient",
+ "version": "2018-06-01"
+ },
+ "paths": {},
+ "definitions": {
+ "ManagedVirtualNetwork": {
+ "description": "A managed Virtual Network associated with the Azure Data Factory",
+ "type": "object",
+ "discriminator": "type",
+ "properties": {
+ "vNetId": {
+ "description": "Managed Virtual Network ID.",
+ "type": "string",
+ "readOnly": true
+ },
+ "alias": {
+ "description": "Managed Virtual Network alias.",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "additionalProperties": {
+ "type": "object"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
index bc89fb5b7d7b..be8062d5491d 100644
--- a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
@@ -779,6 +779,10 @@
"distcpSettings": {
"description": "Specifies Distcp-related settings.",
"$ref": "#/definitions/DistcpSettings"
+ },
+ "deleteFilesAfterCompletion": {
+ "type": "object",
+ "description": "Indicates whether the source files need to be deleted after copy completion. Default is false. Type: boolean (or Expression with resultType boolean)."
}
}
},
@@ -861,6 +865,15 @@
}
]
},
+ "AzureFileStorageWriteSettings": {
+ "description": "Azure File Storage write settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/StoreWriteSettings"
+ }
+ ]
+ },
"FormatReadSettings": {
"description": "Format read settings.",
"discriminator": "type",
@@ -910,6 +923,36 @@
}
}
},
+ "TarReadSettings": {
+ "description": "The Tar compression read settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CompressionReadSettings"
+ }
+ ],
+ "properties": {
+ "preserveCompressionFileNameAsFolder": {
+ "description": "Preserve the compression file name as folder path. Type: boolean (or Expression with resultType boolean).",
+ "type": "object"
+ }
+ }
+ },
+ "TarGZipReadSettings": {
+ "description": "The TarGZip compression read settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CompressionReadSettings"
+ }
+ ],
+ "properties": {
+ "preserveCompressionFileNameAsFolder": {
+ "description": "Preserve the compression file name as folder path. Type: boolean (or Expression with resultType boolean).",
+ "type": "object"
+ }
+ }
+ },
"DelimitedTextReadSettings": {
"description": "Delimited text read settings.",
"type": "object",
@@ -961,6 +1004,14 @@
"type": "object",
"description": "Indicates what validation method is used when reading the xml files. Allowed values: 'none', 'xsd', or 'dtd'. Type: string (or Expression with resultType string)."
},
+ "detectDataType": {
+ "type": "object",
+ "description": "Indicates whether type detection is enabled when reading the xml files. Type: boolean (or Expression with resultType boolean)."
+ },
+ "namespaces": {
+ "type": "object",
+ "description": "Indicates whether namespace is enabled when reading the xml files. Type: boolean (or Expression with resultType boolean)."
+ },
"namespacePrefixes": {
"type": "object",
"description": "Namespace uri to prefix mappings to override the prefixes in column names when namespace is enabled, if no prefix is defined for a namespace uri, the prefix of xml element/attribute name in the xml data file will be used. Example: \"{\"http://www.example.com/xml\":\"prefix\"}\" Type: object (or Expression with resultType object)."
@@ -1015,6 +1066,52 @@
"recordNamespace": {
"type": "string",
"description": "Record namespace in the write result."
+ },
+ "maxRowsPerFile": {
+ "type": "object",
+ "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)."
+ },
+ "fileNamePrefix": {
+ "type": "object",
+ "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "OrcWriteSettings": {
+ "description": "Orc write settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FormatWriteSettings"
+ }
+ ],
+ "properties": {
+ "maxRowsPerFile": {
+ "type": "object",
+ "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)."
+ },
+ "fileNamePrefix": {
+ "type": "object",
+ "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)."
+ }
+ }
+ },
+ "ParquetWriteSettings": {
+ "description": "Parquet write settings.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/FormatWriteSettings"
+ }
+ ],
+ "properties": {
+ "maxRowsPerFile": {
+ "type": "object",
+ "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)."
+ },
+ "fileNamePrefix": {
+ "type": "object",
+ "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)."
}
}
},
@@ -1034,6 +1131,14 @@
"fileExtension": {
"type": "object",
"description": "The file extension used to create the files. Type: string (or Expression with resultType string)."
+ },
+ "maxRowsPerFile": {
+ "type": "object",
+ "description": "Limit the written file's row count to be smaller than or equal to the specified count. Type: integer (or Expression with resultType integer)."
+ },
+ "fileNamePrefix": {
+ "type": "object",
+ "description": "Specifies the file name pattern _. when copy from non-file based store without partitionOptions. Type: string (or Expression with resultType string)."
}
},
"required": [
@@ -1279,6 +1384,10 @@
"storeSettings": {
"$ref": "#/definitions/StoreWriteSettings",
"description": "ORC store settings."
+ },
+ "formatSettings": {
+ "$ref": "#/definitions/OrcWriteSettings",
+ "description": "ORC format settings."
}
}
},
@@ -1551,6 +1660,10 @@
"type": "object",
"description": "Preferred regions. Type: array of strings (or Expression with resultType array of strings)."
},
+ "detectDatetime": {
+ "type": "object",
+ "description": "Whether detect primitive values as datetime values. Type: boolean (or Expression with resultType boolean)."
+ },
"additionalColumns": {
"type": "array",
"description": "Specifies the additional columns to be added to source data. Type: array of objects (or Expression with resultType array of objects).",
@@ -1962,6 +2075,14 @@
"baseRequestId": {
"type": "object",
"description": "The ID of request for delta loading. Once it is set, only data with requestId larger than the value of this property will be retrieved. The default value is 0. Type: integer (or Expression with resultType integer )."
+ },
+ "customRfcReadTableFunctionModule": {
+ "type": "object",
+ "description": "Specifies the custom RFC function module that will be used to read data from SAP Table. Type: string (or Expression with resultType string)."
+ },
+ "sapDataColumnDelimiter": {
+ "type": "object",
+ "description": "The single character that will be used as delimiter passed to SAP RFC as well as splitting the output data retrieved. Type: string (or Expression with resultType string)."
}
}
},
@@ -1998,6 +2119,10 @@
"type": "object",
"description": "Specifies the custom RFC function module that will be used to read data from SAP Table. Type: string (or Expression with resultType string)."
},
+ "sapDataColumnDelimiter": {
+ "type": "object",
+ "description": "The single character that will be used as delimiter passed to SAP RFC as well as splitting the output data retrieved. Type: string (or Expression with resultType string)."
+ },
"partitionOption": {
"description": "The partition mechanism that will be used for SAP table read in parallel.",
"type": "string",
@@ -2042,6 +2167,41 @@
}
}
},
+ "RestSink": {
+ "description": "A copy activity Rest service Sink.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/CopySink"
+ }
+ ],
+ "properties": {
+ "requestMethod": {
+ "type": "object",
+ "description": "The HTTP method used to call the RESTful API. The default is POST. Type: string (or Expression with resultType string)."
+ },
+ "additionalHeaders": {
+ "type": "object",
+ "description": "The additional HTTP headers in the request to the RESTful API. Type: string (or Expression with resultType string)."
+ },
+ "httpRequestTimeout": {
+ "type": "object",
+ "description": "The timeout (TimeSpan) to get an HTTP response. It is the timeout to get a response, not the timeout to read response data. Default value: 00:01:40. Type: string (or Expression with resultType string), pattern: ((\\d+)\\.)?(\\d\\d):(60|([0-5][0-9])):(60|([0-5][0-9]))."
+ },
+ "requestInterval": {
+ "type": "object",
+ "description": "The time to await before sending next request, in milliseconds "
+ },
+ "compressionType": {
+ "type": "object",
+ "description": "Compression Type to Send data in compressed format with Optimal Compression Level, Default is None. And The Only Supported option is Gzip. "
+ },
+ "wrapRequestJsonInAnObject": {
+ "type": "object",
+ "description": "Wraps Request Array Json into an Object before calling the rest endpoint , Default is false. ex: if true request content sample format is { rows:[]} else the format is []"
+ }
+ }
+ },
"RestSource": {
"description": "A copy activity Rest service source.",
"type": "object",
@@ -3637,6 +3797,10 @@
"storeSettings": {
"$ref": "#/definitions/StoreWriteSettings",
"description": "Parquet store settings."
+ },
+ "formatSettings": {
+ "$ref": "#/definitions/ParquetWriteSettings",
+ "description": "Parquet format settings."
}
}
},
@@ -4061,6 +4225,14 @@
"path": {
"type": "object",
"description": "The path to storage for storing detailed logs of activity execution. Type: string (or Expression with resultType string)."
+ },
+ "logLevel": {
+ "type": "object",
+ "description": "Gets or sets the log level, support: Info, Warning. Type: string (or Expression with resultType string)."
+ },
+ "enableReliableLogging": {
+ "type": "object",
+ "description": "Specifies whether to enable reliable logging. Type: boolean (or Expression with resultType boolean)."
}
},
"additionalProperties": {
@@ -6539,7 +6711,7 @@
},
"reportStatusOnCallBack": {
"type": "object",
- "description": "When set to true, statusCode, output and error in callback request body will be consumed by activity. The activity can be marked as failed by setting statusCode >= 400 in callback request. Default is false. Type: boolean (or Expression with resultType boolean)."
+ "description": "When set to true, statusCode, output and error in callback request body will be consumed by activity. The activity can be marked as failed by setting statusCode >= 400 in callback request. Default is false. Type: boolean (or Expression with resultType boolean)."
}
},
"required": [
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ExposureControl_QueryFeatureValuesByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ExposureControl_QueryFeatureValuesByFactory.json
new file mode 100644
index 000000000000..a546ad232dc1
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ExposureControl_QueryFeatureValuesByFactory.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "exposureControlBatchRequest": {
+ "exposureControlRequests": [
+ {
+ "featureName": "ADFIntegrationRuntimeSharingRbac",
+ "featureType": "Feature"
+ },
+ {
+ "featureName": "ADFSampleFeature",
+ "featureType": "Feature"
+ }
+ ]
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Sat, 22 Dec 2018 09:46:07 GMT",
+ "X-Content-Type-Options": "nosniff"
+ },
+ "body": {
+ "exposureControlResponses": [
+ {
+ "featureName": "ADFIntegrationRuntimeSharingRbac",
+ "value": "False"
+ },
+ {
+ "featureName": "ADFSampleFeature",
+ "value": "True"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Create.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Create.json
new file mode 100644
index 000000000000..6b2fe0e51eec
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Create.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "managedVirtualNetworkName": "exampleManagedVirtualNetworkName",
+ "managedPrivateEndpointName": "exampleManagedPrivateEndpointName",
+ "ifMatch": null,
+ "managedPrivateEndpoint": {
+ "properties": {
+ "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleBlobStorage",
+ "groupId": "blob",
+ "fqdns": []
+ }
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Jun 2020 22:20:47 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-writes": "1197",
+ "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6",
+ "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6"
+ },
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName/managedPrivateEndpoints/exampleManagedPrivateEndpointName",
+ "name": "exampleManagedPrivateEndpointName",
+ "type": "Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleBlobStorage",
+ "groupId": "blob",
+ "fqdns": [],
+ "connectionState": {
+ "status": "Pending",
+ "description": "",
+ "actionsRequired": "None"
+ }
+ },
+ "etag": "000046c4-0000-0000-0000-5b2198bf0000"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Delete.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Delete.json
new file mode 100644
index 000000000000..ad877baef007
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Delete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "managedVirtualNetworkName": "exampleManagedVirtualNetworkName",
+ "managedPrivateEndpointName": "exampleManagedPrivateEndpointName",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Get.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Get.json
new file mode 100644
index 000000000000..dd2d661872bf
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_Get.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "managedVirtualNetworkName": "exampleManagedVirtualNetworkName",
+ "managedPrivateEndpointName": "exampleManagedPrivateEndpointName",
+ "ifNoneMatch": "15003c4f-0000-0200-0000-5cbe090b0000",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Mon, 22 Apr 2019 18:33:47 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "11997",
+ "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6",
+ "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6"
+ },
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName/managedPrivateEndpoints/exampleManagedPrivateEndpointName",
+ "name": "exampleManagedPrivateEndpointName",
+ "type": "Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleBlobStorage",
+ "groupId": "blob",
+ "fqdns": [],
+ "connectionState": {
+ "status": "Pending",
+ "description": "",
+ "actionsRequired": "None"
+ }
+ },
+ "etag": "000046c4-0000-0000-0000-5b2198bf0000"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_ListByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_ListByFactory.json
new file mode 100644
index 000000000000..7cd244238e52
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedPrivateEndpoints_ListByFactory.json
@@ -0,0 +1,42 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "managedVirtualNetworkName": "exampleManagedVirtualNetworkName",
+ "ifNoneMatch": null,
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Jun 2020 21:33:05 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "14909",
+ "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6",
+ "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6"
+ },
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName/managedPrivateEndpoints/exampleManagedPrivateEndpointName",
+ "name": "exampleManagedPrivateEndpointName",
+ "type": "Microsoft.DataFactory/factories/managedVirtualNetworks/managedPrivateEndpoints",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateLinkResourceId": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.Storage/storageAccounts/exampleBlobStorage",
+ "groupId": "blob",
+ "fqdns": [],
+ "connectionState": {
+ "status": "Pending",
+ "description": "",
+ "actionsRequired": "None"
+ }
+ },
+ "etag": "000046c4-0000-0000-0000-5b2198bf0000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Create.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Create.json
new file mode 100644
index 000000000000..b443262b85ed
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Create.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "managedVirtualNetworkName": "exampleManagedVirtualNetworkName",
+ "ifMatch": null,
+ "managedVirtualNetwork": {
+ "properties": {}
+ },
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Jun 2020 22:20:47 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-writes": "1197",
+ "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6",
+ "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6"
+ },
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName",
+ "name": "exampleManagedVirtualNetworkName",
+ "type": "Microsoft.DataFactory/factories/managedVirtualNetworks",
+ "properties": {
+ "alias": "exampleFactoryName",
+ "vNetId": "12345678-1234-1234-1234-12345678123"
+ },
+ "etag": "000046c4-0000-0000-0000-5b2198bf0000"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Get.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Get.json
new file mode 100644
index 000000000000..eb57ca1526a9
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_Get.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "managedVirtualNetworkName": "exampleManagedVirtualNetworkName",
+ "ifNoneMatch": "15003c4f-0000-0200-0000-5cbe090b0000",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Mon, 22 Apr 2019 18:33:47 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "11997",
+ "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6",
+ "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6"
+ },
+ "body": {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName",
+ "name": "exampleManagedVirtualNetworkName",
+ "type": "Microsoft.DataFactory/factories/managedVirtualNetworks",
+ "properties": {
+ "alias": "exampleFactoryName",
+ "vNetId": "5a7bd944-87e6-454a-8d4d-9fba446514fd"
+ },
+ "etag": "15003c4f-0000-0200-0000-5cbe090b0000"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_ListByFactory.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_ListByFactory.json
new file mode 100644
index 000000000000..9a664e3739e0
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/ManagedVirtualNetworks_ListByFactory.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "ifNoneMatch": null,
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Wed, 13 Jun 2020 21:33:05 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-reads": "14909",
+ "x-ms-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6",
+ "x-ms-correlation-request-id": "9e6639e9-bece-4c0c-85de-4cadc30a73a6"
+ },
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/12345678-1234-1234-1234-12345678abc/resourceGroups/exampleResourceGroup/providers/Microsoft.DataFactory/factories/exampleFactoryName/managedVirtualNetworks/exampleManagedVirtualNetworkName",
+ "name": "exampleManagedVirtualNetworkName",
+ "type": "Microsoft.DataFactory/factories/managedVirtualNetworks",
+ "properties": {
+ "alias": "exampleFactoryName",
+ "vNetId": "5a7bd944-87e6-454a-8d4d-9fba446514fd"
+ },
+ "etag": "0400f1a1-0000-0000-0000-5b2188640000"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/TriggerRuns_Cancel.json b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/TriggerRuns_Cancel.json
new file mode 100644
index 000000000000..b06046f294f8
--- /dev/null
+++ b/specification/datafactory/resource-manager/Microsoft.DataFactory/stable/2018-06-01/examples/TriggerRuns_Cancel.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "subscriptionId": "12345678-1234-1234-1234-12345678abc",
+ "resourceGroupName": "exampleResourceGroup",
+ "factoryName": "exampleFactoryName",
+ "triggerName": "exampleTrigger",
+ "runId": "2f7fdb90-5df1-4b8e-ac2f-064cfa58202b",
+ "api-version": "2018-06-01"
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "Date": "Sat, 16 Jun 2018 00:46:24 GMT",
+ "X-Content-Type-Options": "nosniff",
+ "x-ms-ratelimit-remaining-subscription-writes": "1198",
+ "x-ms-request-id": "5aa854a5-7ac0-4c7e-9356-79c657f4e231",
+ "x-ms-correlation-request-id": "5aa854a5-7ac0-4c7e-9356-79c657f4e231"
+ }
+ }
+ }
+}
diff --git a/specification/datafactory/resource-manager/readme.az.md b/specification/datafactory/resource-manager/readme.az.md
new file mode 100644
index 000000000000..c66b104e4430
--- /dev/null
+++ b/specification/datafactory/resource-manager/readme.az.md
@@ -0,0 +1,86 @@
+## AZ
+
+These settings apply only when `--az` is specified on the command line.
+
+``` yaml $(az)
+az:
+ extensions: datafactory
+ namespace: azure.mgmt.datafactory
+ package-name: azure-mgmt-datafactory
+ disable-checks: true
+ randomize-names: true
+az-output-folder: $(azure-cli-extension-folder)/src/datafactory
+python-sdk-output-folder: "$(az-output-folder)/azext_datafactory/vendored_sdks/datafactory"
+
+input-file:
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/DataFlow.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Dataset.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/IntegrationRuntime.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/LinkedService.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Pipeline.json
+- Microsoft.DataFactory/stable/2018-06-01/entityTypes/Trigger.json
+
+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';
+ - where:
+ command: datafactory integration-runtime create-linked-integration-runtime
+ set:
+ command: datafactory integration-runtime linked-integration-runtime create
+
+cli:
+ cli-directive:
+ # directive on operationGroup
+ - where:
+ group: Pipelines
+ op: CreateOrUpdate$|CreateOrUpdate#Create
+ parameter: pipeline
+ json: true
+ - where:
+ group: IntegrationRuntimes
+ op: CreateOrUpdate
+ param: properties
+ poly-resource: true
+ - where:
+ group: IntegrationRuntimes
+ op: CreateOrUpdate#*
+ param: properties
+ poly-resource: true
+ - where:
+ group: ExposureControl|IntegrationRuntimeObjectMetadata|DataFlows|DataFlowDebugSession|ManagedVirtualNetworks|ManagedPrivateEndpoints
+ hidden: true
+ - where:
+ group: Factories
+ op: ConfigureFactoryRepo
+ param: locationId
+ name: location
+ - where:
+ group: IntegrationRuntimes
+ op: CreateLinkedIntegrationRuntime
+ param: dataFactoryLocation
+ name: location
+ - where:
+ group: Triggers|LinkedServices|Datasets
+ op: CreateOrUpdate#Update
+ param: properties
+ cli-flatten: true
+ - where:
+ group: Pipelines
+ op: CreateOrUpdate#Update
+ param: pipeline
+ cli-flatten: true
+```
diff --git a/specification/datafactory/resource-manager/readme.azureresourceschema.md b/specification/datafactory/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..d73c49adc290
--- /dev/null
+++ b/specification/datafactory/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-datafactory-2018-06-01
+ - tag: schema-datafactory-2017-09-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-datafactory-2018-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-datafactory-2018-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataFactory/stable/2018-06-01/datafactory.json
+
+```
+
+### Tag: schema-datafactory-2017-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datafactory-2017-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataFactory/preview/2017-09-01-preview/datafactory.json
+
+```
diff --git a/specification/datafactory/resource-manager/readme.cli.md b/specification/datafactory/resource-manager/readme.cli.md
index 67b563417786..d50517ab5ce0 100644
--- a/specification/datafactory/resource-manager/readme.cli.md
+++ b/specification/datafactory/resource-manager/readme.cli.md
@@ -5,87 +5,66 @@ These settings apply only when `--cli` is specified on the command line.
``` yaml $(cli)
cli:
namespace: azure.mgmt.datafactory
- flatten-all: true
test-scenario:
- name: Factories_CreateOrUpdate
- #- name: Datasets_Create
- #- name: Datasets_Update
- #- name: Triggers_Update
- #- name: Triggers_Create
- #- name: DataFlows_Update
- #- name: Pipelines_Create
- #- name: DataFlows_Create
- #- name: Pipelines_Update
- #- name: LinkedServices_Create
- #- name: LinkedServices_Update
- #- name: IntegrationRuntimes_Create
- #- name: RerunTriggers_Create
- #- name: IntegrationRuntimeNodes_Get
- #- name: IntegrationRuntimes_Get
- #- name: RerunTriggers_ListByTrigger
- #- name: LinkedServices_Get
- #- name: PipelineRuns_Get
- #- name: Pipelines_Get
- #- name: DataFlows_Get
- #- name: Datasets_Get
- #- name: Triggers_Get
- #- name: IntegrationRuntimes_ListByFactory
- #- name: LinkedServices_ListByFactory
- #- name: DataFlows_ListByFactory
- #- name: Pipelines_ListByFactory
- #- name: Triggers_ListByFactory
- #- name: Datasets_ListByFactory
- #- name: Factories_Get
- #- name: Factories_ListByResourceGroup
- #- name: Factories_List
- #- name: Operations_List
- #- name: IntegrationRuntimeNodes_GetIpAddress
- #- name: IntegrationRuntimes_CreateLinkedIntegrationRuntime
- #- name: RerunTriggers_Cancel
- #- name: RerunTriggers_Start
- #- name: IntegrationRuntimeNodes_Update
- #- name: IntegrationRuntimeObjectMetadata_Refresh
- #- name: RerunTriggers_Stop
- #- name: IntegrationRuntimes_RegenerateAuthKey
- #- name: Triggers_Rerun
- #- name: IntegrationRuntimeObjectMetadata_Get
- #- name: IntegrationRuntimes_GetConnectionInfo
- #- name: IntegrationRuntimes_SyncCredentials
- #- name: IntegrationRuntimes_GetMonitoringData
- #- name: IntegrationRuntimes_ListAuthKeys
- #- name: IntegrationRuntimes_Upgrade
- #- name: IntegrationRuntimes_GetStatus
- #- name: IntegrationRuntimes_Upgrade
- #- name: IntegrationRuntimes_Start
- #- name: IntegrationRuntimes_Stop
- #- name: Triggers_GetEventSubscriptionStatus
- #- name: ActivityRuns_QueryByPipelineRun
- #- name: IntegrationRuntimes_Update
- #- name: Triggers_UnsubscribeFromEvents
- #- name: Triggers_SubscribeToEvents
- #- name: PipelineRuns_Cancel
- #- name: Pipelines_CreateRun
- #- name: Triggers_Start
- #- name: Triggers_Stop
- #- name: DataFlowDebugSession_ExecuteCommand
- #- name: DataFlowDebugSession_Delete
- #- name: DataFlowDebugSession_Create
- #- name: DataFlowDebugSession_QueryByFactory
- #- name: DataFlowDebugSession_AddDataFlow
- #- name: Factories_GetGitHubAccessToken
- #- name: Factories_GetDataPlaneAccess
- #- name: PipelineRuns_QueryByFactory
- #- name: TriggerRuns_QueryByFactory
- #- name: ExposureControl_GetFeatureValueByFactory
- #- name: Factories_Update
- #- name: Factories_ConfigureFactoryRepo
- #- name: ExposureControl_GetFeatureValue
- #- name: IntegrationRuntimesNodes_Delete
- #- name: IntegrationRuntimes_Delete
- #- name: LinkedServices_Delete
- #- name: Pipelines_Delete
- #- name: DataFlows_Delete
- #- name: Datasets_Delete
- #- name: Triggers_Delete
- #- name: Factories_Delete
+ - name: Factories_Update
+ - name: LinkedServices_Create
+ - name: LinkedServices_Update
+ - name: Datasets_Create
+ - name: Datasets_Update
+ - name: Pipelines_Create
+ - name: Pipelines_Update
+ - name: Triggers_Create
+ - name: Triggers_Update
+ - name: IntegrationRuntimes_Create
+ - name: IntegrationRuntimes_Update
+ - name: IntegrationRuntimes_CreateLinkedIntegrationRuntime
+ - name: Pipelines_CreateRun
+ - name: IntegrationRuntimes_Get
+ - name: RerunTriggers_ListByTrigger
+ - name: LinkedServices_Get
+ - name: PipelineRuns_Get
+ - name: Pipelines_Get
+ - name: Datasets_Get
+ - name: Triggers_Get
+ - name: IntegrationRuntimes_ListByFactory
+ - name: LinkedServices_ListByFactory
+ - name: Pipelines_ListByFactory
+ - name: Triggers_ListByFactory
+ - name: Datasets_ListByFactory
+ - name: Factories_Get
+ - name: Factories_ListByResourceGroup
+ - name: Factories_List
+ - name: Operations_List
+ - name: RerunTriggers_Cancel
+ - name: RerunTriggers_Start
+ - name: RerunTriggers_Stop
+ - name: IntegrationRuntimes_RegenerateAuthKey
+ - name: TriggerRuns_Rerun
+ - name: IntegrationRuntimes_GetConnectionInfo
+ - name: IntegrationRuntimes_SyncCredentials
+ - name: IntegrationRuntimes_GetMonitoringData
+ - name: IntegrationRuntimes_ListAuthKeys
+ - name: IntegrationRuntimes_Upgrade
+ - name: IntegrationRuntimes_GetStatus
+ - name: IntegrationRuntimes_Start
+ - name: IntegrationRuntimes_Stop
+ - name: Triggers_GetEventSubscriptionStatus
+ - name: ActivityRuns_QueryByPipelineRun
+ - name: Triggers_UnsubscribeFromEvents
+ - name: Triggers_SubscribeToEvents
+ - name: Triggers_Start
+ - name: Triggers_Stop
+ - name: Factories_GetGitHubAccessToken
+ - name: Factories_GetDataPlaneAccess
+ - name: PipelineRuns_QueryByFactory
+ - name: PipelineRuns_Cancel
+ - name: TriggerRuns_QueryByFactory
+ - name: Factories_ConfigureFactoryRepo
+ - name: IntegrationRuntimes_Delete
+ - name: Triggers_Delete
+ - name: Pipelines_Delete
+ - name: Datasets_Delete
+ - name: LinkedServices_Delete
+ - name: Factories_Delete
```
diff --git a/specification/datafactory/resource-manager/readme.md b/specification/datafactory/resource-manager/readme.md
index 6ab27eaa4547..73ba78baf313 100644
--- a/specification/datafactory/resource-manager/readme.md
+++ b/specification/datafactory/resource-manager/readme.md
@@ -65,6 +65,10 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js datafactory/resource-manager
```
@@ -82,33 +86,6 @@ csharp:
clear-output-folder: true
```
-## Python
-
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-
-``` yaml $(python)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.datafactory
- package-name: azure-mgmt-datafactory
- package-version: 1.0.0
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory
-```
## Go
@@ -219,6 +196,10 @@ directive:
- DataFlow add type required
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/datafactory/resource-manager/readme.python.md b/specification/datafactory/resource-manager/readme.python.md
new file mode 100644
index 000000000000..56d82b37fb7a
--- /dev/null
+++ b/specification/datafactory/resource-manager/readme.python.md
@@ -0,0 +1,26 @@
+## Python
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: azure.mgmt.datafactory
+ package-name: azure-mgmt-datafactory
+ package-version: 1.0.0
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory/azure/mgmt/datafactory
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/datafactory/azure-mgmt-datafactory
+```
diff --git a/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md b/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..ee0f54438247
--- /dev/null
+++ b/specification/datalake-analytics/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-datalakeanalytics-2016-11-01
+ - tag: schema-datalakeanalytics-2015-10-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-datalakeanalytics-2016-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-datalakeanalytics-2016-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataLakeAnalytics/stable/2016-11-01/account.json
+
+```
+
+### Tag: schema-datalakeanalytics-2015-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datalakeanalytics-2015-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataLakeAnalytics/preview/2015-10-01-preview/account.json
+
+```
diff --git a/specification/datalake-analytics/resource-manager/readme.md b/specification/datalake-analytics/resource-manager/readme.md
index a56f88ac31a4..13dc4c7c3e79 100644
--- a/specification/datalake-analytics/resource-manager/readme.md
+++ b/specification/datalake-analytics/resource-manager/readme.md
@@ -81,6 +81,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_datalake_analytics']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js datalake-analytics/resource-manager
```
@@ -168,6 +171,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/datalake-store/resource-manager/readme.azureresourceschema.md b/specification/datalake-store/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..6382fd8e0e7e
--- /dev/null
+++ b/specification/datalake-store/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-datalakestore-2016-11-01
+ - tag: schema-datalakestore-2015-10-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-datalakestore-2016-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-datalakestore-2016-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataLakeStore/stable/2016-11-01/account.json
+
+```
+
+### Tag: schema-datalakestore-2015-10-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datalakestore-2015-10-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataLakeStore/preview/2015-10-01-preview/account.json
+
+```
diff --git a/specification/datalake-store/resource-manager/readme.md b/specification/datalake-store/resource-manager/readme.md
index 6a0432a35413..82889495064d 100644
--- a/specification/datalake-store/resource-manager/readme.md
+++ b/specification/datalake-store/resource-manager/readme.md
@@ -83,6 +83,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_datalake_store']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js datalake-store/resource-manager
```
@@ -180,6 +183,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/datamigration/resource-manager/readme.azureresourceschema.md b/specification/datamigration/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..721f822565b6
--- /dev/null
+++ b/specification/datamigration/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,170 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-datamigration-2018-07-15-preview
+ - tag: schema-datamigration-2018-04-19
+ - tag: schema-datamigration-2018-03-31-preview
+ - tag: schema-datamigration-2018-03-15-preview
+ - tag: schema-datamigration-2017-11-15-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-datamigration-2018-07-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datamigration-2018-07-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataMigration/preview/2018-07-15-preview/datamigration.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Commands.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Common.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceMySqlTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourceSqlServerTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToSourcePostgreSqlSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForMySqlTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlDbTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMiSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlMITask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetSqlSqlDbSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetUserTablesSqlTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSchemaSqlServerSqlDbTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlDbTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMiSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSqlServerSqlMITask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrateSsisTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MigrationValidation.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/MongoDbTasks.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/GetTdeCertificatesSqlTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/OracleAzureDbPostgreSqlSyncTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Projects.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceFeatureOCITask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Services.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ServiceTasks.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/Tasks.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/TasksCommon.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateSyncMigrationInputSqlServerTask.json
+ - Microsoft.DataMigration/preview/2018-07-15-preview/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json
+
+```
+
+### Tag: schema-datamigration-2018-04-19 and azureresourceschema
+
+``` yaml $(tag) == 'schema-datamigration-2018-04-19' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataMigration/stable/2018-04-19/datamigration.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/Commands.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/Common.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceMySqlTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourcePostgreSqlSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToSourceSqlServerTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForMySqlTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetAzureDbForPostgreSqlSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlDbTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMITask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlMiSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ConnectToTargetSqlSqlDbSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/GetTdeCertificatesSqlTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/GetUserTablesSqlTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateMySqlAzureDbForMySqlSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/MigratePostgreSqlAzureDbForPostgreSqlSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlDbTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMITask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrateSqlServerSqlMiSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/Projects.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/Services.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/Tasks.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/TasksCommon.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/MigrationValidation.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMITask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateMigrationInputSqlServerSqlMiSyncTask.json
+ - Microsoft.DataMigration/stable/2018-04-19/definitions/ValidateSyncMigrationInputSqlServerTask.json
+
+```
+
+### Tag: schema-datamigration-2018-03-31-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datamigration-2018-03-31-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataMigration/preview/2018-03-31-preview/datamigration.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Common.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToSourceSqlServerTask.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToTargetSqlDbTask.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ConnectToTargetSqlMITask.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/GetUserTablesSqlTask.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrateSqlServerSqlDbTask.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrateSqlServerSqlMITask.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Projects.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Services.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/Tasks.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/TasksCommon.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/MigrationValidation.json
+ - Microsoft.DataMigration/preview/2018-03-31-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json
+
+```
+
+### Tag: schema-datamigration-2018-03-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datamigration-2018-03-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataMigration/preview/2018-03-15-preview/datamigration.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Common.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToSourceSqlServerTask.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlDbTask.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ConnectToTargetSqlMITask.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/GetUserTablesSqlTask.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlDbTask.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrateSqlServerSqlMITask.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Projects.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Services.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/Tasks.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/TasksCommon.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/MigrationValidation.json
+ - Microsoft.DataMigration/preview/2018-03-15-preview/definitions/ValidateMigrationInputSqlServerSqlMITask.json
+
+```
+
+### Tag: schema-datamigration-2017-11-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datamigration-2017-11-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataMigration/preview/2017-11-15-preview/datamigration.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Common.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/ConnectToSourceSqlServerTask.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/ConnectToTargetSqlDbTask.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/GetUserTablesSqlTask.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/MigrateSqlServerSqlDbTask.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Projects.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Services.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/Tasks.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/TasksCommon.json
+ - Microsoft.DataMigration/preview/2017-11-15-preview/definitions/MigrationValidation.json
+
+```
diff --git a/specification/datamigration/resource-manager/readme.md b/specification/datamigration/resource-manager/readme.md
index 52e90b3fd384..8874cc7a8f43 100644
--- a/specification/datamigration/resource-manager/readme.md
+++ b/specification/datamigration/resource-manager/readme.md
@@ -192,6 +192,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
- repo: azure-sdk-for-java
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js datamigration/resource-manager
```
## C#
@@ -216,6 +219,10 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json
index 16a12f490476..8a7e7d21fe20 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json
@@ -16,6 +16,53 @@
"application/json"
],
"paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts": {
+ "get": {
+ "tags": [
+ "Account"
+ ],
+ "summary": "List Accounts in a subscription",
+ "description": "List Accounts in Subscription",
+ "operationId": "Accounts_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "Continuation token",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Microsoft.DataShare resource provider.",
+ "schema": {
+ "$ref": "#/definitions/DataShareError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Accounts_ListBySubscription": {
+ "$ref": "./examples/Accounts_ListBySubscription.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}": {
"get": {
"tags": [
@@ -214,53 +261,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts": {
- "get": {
- "tags": [
- "Account"
- ],
- "summary": "List Accounts in a subscription",
- "description": "List Accounts in Subscription",
- "operationId": "Accounts_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/api-version"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "Continuation token",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/AccountList"
- }
- },
- "default": {
- "description": "An error response received from the Microsoft.DataShare resource provider.",
- "schema": {
- "$ref": "#/definitions/DataShareError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Accounts_ListBySubscription": {
- "$ref": "./examples/Accounts_ListBySubscription.json"
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts": {
"get": {
"tags": [
@@ -311,40 +311,31 @@
}
}
},
- "/providers/Microsoft.DataShare/locations/{location}/RejectInvitation": {
- "post": {
+ "/providers/Microsoft.DataShare/ListInvitations": {
+ "get": {
"tags": [
"ConsumerInvitation"
],
- "summary": "Rejects the invitation identified by invitationId",
- "description": "Reject an invitation",
- "operationId": "ConsumerInvitations_RejectInvitation",
+ "summary": "List the invitations",
+ "description": "Lists invitations",
+ "operationId": "ConsumerInvitations_ListInvitations",
"parameters": [
{
- "name": "location",
- "in": "path",
- "description": "Location of the invitation",
- "required": true,
- "type": "string"
- },
- {
- "name": "invitation",
- "in": "body",
- "description": "An invitation payload",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ConsumerInvitation"
- }
+ "$ref": "#/parameters/api-version"
},
{
- "$ref": "#/parameters/api-version"
+ "name": "$skipToken",
+ "in": "query",
+ "description": "The continuation token",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ConsumerInvitation"
+ "$ref": "#/definitions/ConsumerInvitationList"
}
},
"default": {
@@ -354,9 +345,12 @@
}
}
},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
- "ConsumerInvitations_RejectInvitation": {
- "$ref": "./examples/ConsumerInvitations_RejectInvitation.json"
+ "ConsumerInvitations_ListInvitations": {
+ "$ref": "./examples/ConsumerInvitations_ListInvitations.json"
}
}
}
@@ -409,31 +403,40 @@
}
}
},
- "/providers/Microsoft.DataShare/ListInvitations": {
- "get": {
+ "/providers/Microsoft.DataShare/locations/{location}/RejectInvitation": {
+ "post": {
"tags": [
"ConsumerInvitation"
],
- "summary": "List the invitations",
- "description": "Lists invitations",
- "operationId": "ConsumerInvitations_ListInvitations",
+ "summary": "Rejects the invitation identified by invitationId",
+ "description": "Reject an invitation",
+ "operationId": "ConsumerInvitations_RejectInvitation",
"parameters": [
{
- "$ref": "#/parameters/api-version"
+ "name": "location",
+ "in": "path",
+ "description": "Location of the invitation",
+ "required": true,
+ "type": "string"
},
{
- "name": "$skipToken",
- "in": "query",
- "description": "The continuation token",
- "required": false,
- "type": "string"
+ "name": "invitation",
+ "in": "body",
+ "description": "An invitation payload",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConsumerInvitation"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ConsumerInvitationList"
+ "$ref": "#/definitions/ConsumerInvitation"
}
},
"default": {
@@ -443,12 +446,9 @@
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
"x-ms-examples": {
- "ConsumerInvitations_ListInvitations": {
- "$ref": "./examples/ConsumerInvitations_ListInvitations.json"
+ "ConsumerInvitations_RejectInvitation": {
+ "$ref": "./examples/ConsumerInvitations_RejectInvitation.json"
}
}
}
@@ -685,6 +685,20 @@
"description": "continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
@@ -936,6 +950,20 @@
"description": "Continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
@@ -1178,6 +1206,20 @@
"description": "The continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
@@ -1241,14 +1283,14 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}": {
- "get": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails": {
+ "post": {
"tags": [
"Share"
],
- "summary": "Get a specified share",
- "description": "Get a share ",
- "operationId": "Shares_Get",
+ "summary": "List data set level details for a share synchronization",
+ "description": "List synchronization details",
+ "operationId": "Shares_ListSynchronizationDetails",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1262,19 +1304,49 @@
{
"name": "shareName",
"in": "path",
- "description": "The name of the share to retrieve.",
+ "description": "The name of the share.",
"required": true,
"type": "string"
},
+ {
+ "name": "shareSynchronization",
+ "in": "body",
+ "description": "Share Synchronization payload.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShareSynchronization"
+ }
+ },
{
"$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "Continuation token",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/Share"
+ "$ref": "#/definitions/SynchronizationDetailsList"
}
},
"default": {
@@ -1284,82 +1356,24 @@
}
}
},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
- "Shares_Get": {
- "$ref": "./examples/Shares_Get.json"
+ "Shares_ListSynchronizationDetails": {
+ "$ref": "./examples/Shares_ListSynchronizationDetails.json"
}
}
- },
- "put": {
- "tags": [
- "Share"
- ],
- "summary": "Create a share in the given account.",
- "description": "Create a share ",
- "operationId": "Shares_Create",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "$ref": "#/parameters/accountName"
- },
- {
- "name": "shareName",
- "in": "path",
- "description": "The name of the share.",
- "required": true,
- "type": "string"
- },
- {
- "name": "share",
- "in": "body",
- "description": "The share payload",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Share"
- }
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Share"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Share"
- }
- },
- "default": {
- "description": "An error response received from the Microsoft.DataShare resource provider.",
- "schema": {
- "$ref": "#/definitions/DataShareError"
- }
- }
- },
- "x-ms-examples": {
- "Shares_Create": {
- "$ref": "./examples/Shares_Create.json"
- }
- }
- },
- "delete": {
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations": {
+ "post": {
"tags": [
"Share"
],
- "summary": "Deletes a share",
- "description": "Delete a share ",
- "operationId": "Shares_Delete",
+ "summary": "List Synchronizations in a share",
+ "description": "List synchronizations of a share",
+ "operationId": "Shares_ListSynchronizations",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1379,61 +1393,25 @@
},
{
"$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/OperationResponse"
- }
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "An error response received from the Microsoft.DataShare resource provider.",
- "schema": {
- "$ref": "#/definitions/DataShareError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Shares_Delete": {
- "$ref": "./examples/Shares_Delete.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares": {
- "get": {
- "tags": [
- "Share"
- ],
- "summary": "List of available shares under an account.",
- "description": "List shares in an account",
- "operationId": "Shares_ListByAccount",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
},
{
- "$ref": "#/parameters/accountName"
+ "name": "$skipToken",
+ "in": "query",
+ "description": "Continuation token",
+ "required": false,
+ "type": "string"
},
{
- "$ref": "#/parameters/api-version"
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
},
{
- "name": "$skipToken",
+ "name": "$orderby",
"in": "query",
- "description": "Continuation Token",
+ "description": "Sorts the results using OData syntax.",
"required": false,
"type": "string"
}
@@ -1442,7 +1420,7 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareList"
+ "$ref": "#/definitions/ShareSynchronizationList"
}
},
"default": {
@@ -1456,20 +1434,20 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "Shares_ListByAccount": {
- "$ref": "./examples/Shares_ListByAccount.json"
+ "Shares_ListSynchronizations": {
+ "$ref": "./examples/Shares_ListSynchronizations.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate": {
"post": {
"tags": [
"Share"
],
- "summary": "List Synchronizations in a share",
- "description": "List synchronizations of a share",
- "operationId": "Shares_ListSynchronizations",
+ "summary": "Reinstate share subscription in a provider share.",
+ "description": "Reinstate share subscription in a provider share",
+ "operationId": "ProviderShareSubscriptions_Reinstate",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1488,21 +1466,21 @@
"type": "string"
},
{
- "$ref": "#/parameters/api-version"
+ "name": "providerShareSubscriptionId",
+ "in": "path",
+ "description": "To locate shareSubscription",
+ "required": true,
+ "type": "string"
},
{
- "name": "$skipToken",
- "in": "query",
- "description": "Continuation token",
- "required": false,
- "type": "string"
+ "$ref": "#/parameters/api-version"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSynchronizationList"
+ "$ref": "#/definitions/ProviderShareSubscription"
}
},
"default": {
@@ -1512,24 +1490,21 @@
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
"x-ms-examples": {
- "Shares_ListSynchronizations": {
- "$ref": "./examples/Shares_ListSynchronizations.json"
+ "ProviderShareSubscriptions_Reinstate": {
+ "$ref": "./examples/ProviderShareSubscriptions_Reinstate.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke": {
"post": {
"tags": [
"Share"
],
- "summary": "List data set level details for a share synchronization",
- "description": "List synchronization details",
- "operationId": "Shares_ListSynchronizationDetails",
+ "summary": "Revoke share subscription in a provider share.",
+ "description": "Revoke share subscription in a provider share",
+ "operationId": "ProviderShareSubscriptions_Revoke",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1548,30 +1523,27 @@
"type": "string"
},
{
- "name": "shareSynchronization",
- "in": "body",
- "description": "Share Synchronization payload.",
+ "name": "providerShareSubscriptionId",
+ "in": "path",
+ "description": "To locate shareSubscription",
"required": true,
- "schema": {
- "$ref": "#/definitions/ShareSynchronization"
- }
+ "type": "string"
},
{
"$ref": "#/parameters/api-version"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "Continuation token",
- "required": false,
- "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/SynchronizationDetailsList"
+ "$ref": "#/definitions/ProviderShareSubscription"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ProviderShareSubscription"
}
},
"default": {
@@ -1581,12 +1553,13 @@
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
},
"x-ms-examples": {
- "Shares_ListSynchronizationDetails": {
- "$ref": "./examples/Shares_ListSynchronizationDetails.json"
+ "ProviderShareSubscriptions_Revoke": {
+ "$ref": "./examples/ProviderShareSubscriptions_Revoke.json"
}
}
}
@@ -1708,14 +1681,14 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke": {
- "post": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}": {
+ "get": {
"tags": [
"Share"
],
- "summary": "Revoke share subscription in a provider share.",
- "description": "Revoke share subscription in a provider share",
- "operationId": "ProviderShareSubscriptions_Revoke",
+ "summary": "Get a specified share",
+ "description": "Get a share ",
+ "operationId": "Shares_Get",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1729,14 +1702,7 @@
{
"name": "shareName",
"in": "path",
- "description": "The name of the share.",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerShareSubscriptionId",
- "in": "path",
- "description": "To locate shareSubscription",
+ "description": "The name of the share to retrieve.",
"required": true,
"type": "string"
},
@@ -1748,13 +1714,7 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ProviderShareSubscription"
- }
- },
- "202": {
- "description": "Accepted",
- "schema": {
- "$ref": "#/definitions/ProviderShareSubscription"
+ "$ref": "#/definitions/Share"
}
},
"default": {
@@ -1764,25 +1724,19 @@
}
}
},
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "azure-async-operation"
- },
"x-ms-examples": {
- "ProviderShareSubscriptions_Revoke": {
- "$ref": "./examples/ProviderShareSubscriptions_Revoke.json"
+ "Shares_Get": {
+ "$ref": "./examples/Shares_Get.json"
}
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate": {
- "post": {
+ },
+ "put": {
"tags": [
"Share"
],
- "summary": "Reinstate share subscription in a provider share.",
- "description": "Reinstate share subscription in a provider share",
- "operationId": "ProviderShareSubscriptions_Reinstate",
+ "summary": "Create a share in the given account.",
+ "description": "Create a share ",
+ "operationId": "Shares_Create",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1801,21 +1755,29 @@
"type": "string"
},
{
- "name": "providerShareSubscriptionId",
- "in": "path",
- "description": "To locate shareSubscription",
+ "name": "share",
+ "in": "body",
+ "description": "The share payload",
"required": true,
- "type": "string"
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
},
{
"$ref": "#/parameters/api-version"
}
],
"responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ProviderShareSubscription"
+ "$ref": "#/definitions/Share"
}
},
"default": {
@@ -1826,20 +1788,18 @@
}
},
"x-ms-examples": {
- "ProviderShareSubscriptions_Reinstate": {
- "$ref": "./examples/ProviderShareSubscriptions_Reinstate.json"
+ "Shares_Create": {
+ "$ref": "./examples/Shares_Create.json"
}
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}": {
- "get": {
+ },
+ "delete": {
"tags": [
- "ShareSubscription"
+ "Share"
],
- "summary": "Get shareSubscription in an account.",
- "description": "Get a shareSubscription in an account",
- "operationId": "ShareSubscriptions_Get",
+ "summary": "Deletes a share",
+ "description": "Delete a share ",
+ "operationId": "Shares_Delete",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1851,9 +1811,9 @@
"$ref": "#/parameters/accountName"
},
{
- "name": "shareSubscriptionName",
+ "name": "shareName",
"in": "path",
- "description": "The name of the shareSubscription.",
+ "description": "The name of the share.",
"required": true,
"type": "string"
},
@@ -1865,9 +1825,15 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscription"
+ "$ref": "#/definitions/OperationResponse"
}
},
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "Success"
+ },
"default": {
"description": "An error response received from the Microsoft.DataShare resource provider.",
"schema": {
@@ -1875,19 +1841,22 @@
}
}
},
+ "x-ms-long-running-operation": true,
"x-ms-examples": {
- "ShareSubscriptions_Get": {
- "$ref": "./examples/ShareSubscriptions_Get.json"
+ "Shares_Delete": {
+ "$ref": "./examples/Shares_Delete.json"
}
}
- },
- "put": {
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares": {
+ "get": {
"tags": [
- "ShareSubscription"
+ "Share"
],
- "summary": "Create shareSubscription in an account.",
- "description": "Create a shareSubscription in an account",
- "operationId": "ShareSubscriptions_Create",
+ "summary": "List of available shares under an account.",
+ "description": "List shares in an account",
+ "operationId": "Shares_ListByAccount",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1899,36 +1868,35 @@
"$ref": "#/parameters/accountName"
},
{
- "name": "shareSubscriptionName",
- "in": "path",
- "description": "The name of the shareSubscription.",
- "required": true,
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "Continuation Token",
+ "required": false,
"type": "string"
},
{
- "name": "shareSubscription",
- "in": "body",
- "description": "create parameters for shareSubscription",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ShareSubscription"
- }
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
},
{
- "$ref": "#/parameters/api-version"
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscription"
- }
- },
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ShareSubscription"
+ "$ref": "#/definitions/ShareList"
}
},
"default": {
@@ -1938,19 +1906,24 @@
}
}
},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
- "ShareSubscriptions_Create": {
- "$ref": "./examples/ShareSubscriptions_Create.json"
+ "Shares_ListByAccount": {
+ "$ref": "./examples/Shares_ListByAccount.json"
}
}
- },
- "delete": {
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization": {
+ "post": {
"tags": [
"ShareSubscription"
],
- "summary": "Delete shareSubscription in an account.",
- "description": "Delete a shareSubscription in an account",
- "operationId": "ShareSubscriptions_Delete",
+ "summary": "Request cancellation of a data share snapshot",
+ "description": "Request to cancel a synchronization.",
+ "operationId": "ShareSubscriptions_CancelSynchronization",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1968,6 +1941,15 @@
"required": true,
"type": "string"
},
+ {
+ "name": "shareSubscriptionSynchronization",
+ "in": "body",
+ "description": "Share Subscription Synchronization payload.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ }
+ },
{
"$ref": "#/parameters/api-version"
}
@@ -1976,14 +1958,14 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/OperationResponse"
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
}
},
"202": {
- "description": "Accepted"
- },
- "204": {
- "description": "Success"
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ }
},
"default": {
"description": "An error response received from the Microsoft.DataShare resource provider.",
@@ -1993,9 +1975,12 @@
}
},
"x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
+ },
"x-ms-examples": {
- "ShareSubscriptions_Delete": {
- "$ref": "./examples/ShareSubscriptions_Delete.json"
+ "ShareSubscriptions_CancelSynchronization": {
+ "$ref": "./examples/ShareSubscriptions_CancelSynchronization.json"
}
}
}
@@ -2120,14 +2105,14 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails": {
"post": {
"tags": [
"ShareSubscription"
],
- "summary": "List Synchronizations in a share subscription.",
- "description": "List synchronizations of a share subscription",
- "operationId": "ShareSubscriptions_ListSynchronizations",
+ "summary": "List data set level details for a share subscription synchronization",
+ "description": "List synchronization details",
+ "operationId": "ShareSubscriptions_ListSynchronizationDetails",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -2145,6 +2130,15 @@
"required": true,
"type": "string"
},
+ {
+ "name": "shareSubscriptionSynchronization",
+ "in": "body",
+ "description": "Share Subscription Synchronization payload.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ }
+ },
{
"$ref": "#/parameters/api-version"
},
@@ -2154,13 +2148,27 @@
"description": "Continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronizationList"
+ "$ref": "#/definitions/SynchronizationDetailsList"
}
},
"default": {
@@ -2174,20 +2182,20 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "ShareSubscriptions_ListSynchronizations": {
- "$ref": "./examples/ShareSubscriptions_ListSynchronizations.json"
+ "ShareSubscriptions_ListSynchronizationDetails": {
+ "$ref": "./examples/ShareSubscriptions_ListSynchronizationDetails.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations": {
"post": {
"tags": [
"ShareSubscription"
],
- "summary": "List data set level details for a share subscription synchronization",
- "description": "List synchronization details",
- "operationId": "ShareSubscriptions_ListSynchronizationDetails",
+ "summary": "List Synchronizations in a share subscription.",
+ "description": "List synchronizations of a share subscription",
+ "operationId": "ShareSubscriptions_ListSynchronizations",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -2205,15 +2213,6 @@
"required": true,
"type": "string"
},
- {
- "name": "shareSubscriptionSynchronization",
- "in": "body",
- "description": "Share Subscription Synchronization payload.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
- }
- },
{
"$ref": "#/parameters/api-version"
},
@@ -2223,13 +2222,27 @@
"description": "Continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/SynchronizationDetailsList"
+ "$ref": "#/definitions/ShareSubscriptionSynchronizationList"
}
},
"default": {
@@ -2243,8 +2256,8 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "ShareSubscriptions_ListSynchronizationDetails": {
- "$ref": "./examples/ShareSubscriptions_ListSynchronizationDetails.json"
+ "ShareSubscriptions_ListSynchronizations": {
+ "$ref": "./examples/ShareSubscriptions_ListSynchronizations.json"
}
}
}
@@ -2318,14 +2331,14 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization": {
- "post": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}": {
+ "get": {
"tags": [
"ShareSubscription"
],
- "summary": "Request cancellation of a data share snapshot",
- "description": "Request to cancel a synchronization.",
- "operationId": "ShareSubscriptions_CancelSynchronization",
+ "summary": "Get shareSubscription in an account.",
+ "description": "Get a shareSubscription in an account",
+ "operationId": "ShareSubscriptions_Get",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -2343,15 +2356,6 @@
"required": true,
"type": "string"
},
- {
- "name": "shareSubscriptionSynchronization",
- "in": "body",
- "description": "Share Subscription Synchronization payload.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
- }
- },
{
"$ref": "#/parameters/api-version"
}
@@ -2360,13 +2364,7 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
- }
- },
- "202": {
- "description": "Accepted",
- "schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ "$ref": "#/definitions/ShareSubscription"
}
},
"default": {
@@ -2376,25 +2374,19 @@
}
}
},
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "azure-async-operation"
- },
"x-ms-examples": {
- "ShareSubscriptions_CancelSynchronization": {
- "$ref": "./examples/ShareSubscriptions_CancelSynchronization.json"
+ "ShareSubscriptions_Get": {
+ "$ref": "./examples/ShareSubscriptions_Get.json"
}
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions": {
- "get": {
+ },
+ "put": {
"tags": [
"ShareSubscription"
],
- "summary": "List of available share subscriptions under an account.",
- "description": "List share subscriptions in an account",
- "operationId": "ShareSubscriptions_ListByAccount",
+ "summary": "Create shareSubscription in an account.",
+ "description": "Create a shareSubscription in an account",
+ "operationId": "ShareSubscriptions_Create",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -2406,14 +2398,148 @@
"$ref": "#/parameters/accountName"
},
{
- "$ref": "#/parameters/api-version"
- },
- {
- "name": "$skipToken",
+ "name": "shareSubscriptionName",
+ "in": "path",
+ "description": "The name of the shareSubscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "shareSubscription",
+ "in": "body",
+ "description": "create parameters for shareSubscription",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShareSubscription"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ShareSubscription"
+ }
+ },
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ShareSubscription"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Microsoft.DataShare resource provider.",
+ "schema": {
+ "$ref": "#/definitions/DataShareError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ShareSubscriptions_Create": {
+ "$ref": "./examples/ShareSubscriptions_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ShareSubscription"
+ ],
+ "summary": "Delete shareSubscription in an account.",
+ "description": "Delete a shareSubscription in an account",
+ "operationId": "ShareSubscriptions_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/accountName"
+ },
+ {
+ "name": "shareSubscriptionName",
+ "in": "path",
+ "description": "The name of the shareSubscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OperationResponse"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "Success"
+ },
+ "default": {
+ "description": "An error response received from the Microsoft.DataShare resource provider.",
+ "schema": {
+ "$ref": "#/definitions/DataShareError"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "ShareSubscriptions_Delete": {
+ "$ref": "./examples/ShareSubscriptions_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions": {
+ "get": {
+ "tags": [
+ "ShareSubscription"
+ ],
+ "summary": "List of available share subscriptions under an account.",
+ "description": "List share subscriptions in an account",
+ "operationId": "ShareSubscriptions_ListByAccount",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/accountName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$skipToken",
"in": "query",
"description": "Continuation Token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
@@ -2964,29 +3090,23 @@
}
}
},
- "Identity": {
- "description": "Identity of resource",
+ "AccountList": {
+ "description": "List response for get Accounts.",
+ "required": [
+ "value"
+ ],
"type": "object",
"properties": {
- "principalId": {
- "description": "service principal Id",
- "type": "string",
- "readOnly": true
- },
- "tenantId": {
- "description": "Tenant Id",
- "type": "string",
- "readOnly": true
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
},
- "type": {
- "description": "Identity Type",
- "enum": [
- "SystemAssigned"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "type",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Account"
}
}
}
@@ -3029,49 +3149,6 @@
}
}
},
- "DataShareError": {
- "description": "The data share error model.",
- "required": [
- "error"
- ],
- "type": "object",
- "properties": {
- "error": {
- "$ref": "#/definitions/DataShareErrorInfo",
- "description": "The data share error body"
- }
- }
- },
- "DataShareErrorInfo": {
- "description": "The data share error body model.",
- "required": [
- "code",
- "message"
- ],
- "type": "object",
- "properties": {
- "code": {
- "description": "Code of the error",
- "type": "string"
- },
- "details": {
- "description": "Nested details of the error model",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataShareErrorInfo"
- }
- },
- "message": {
- "description": "Message of the error",
- "type": "string"
- },
- "target": {
- "description": "Target of the error",
- "type": "string"
- }
- }
- },
"AccountUpdateParameters": {
"description": "Update parameters for accounts",
"type": "object",
@@ -3085,985 +3162,1026 @@
}
}
},
- "OperationResponse": {
- "description": "Response for long running operation",
+ "ADLSGen1FileDataSet": {
+ "description": "An ADLS Gen 1 file data set.",
"required": [
- "status"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "endTime": {
- "format": "date-time",
- "description": "start time",
+ "properties": {
+ "$ref": "#/definitions/ADLSGen1FileProperties",
+ "description": "ADLS Gen 1 file data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "AdlsGen1File"
+ },
+ "ADLSGen1FileProperties": {
+ "description": "Properties of the ADLS Gen1 file data set.",
+ "required": [
+ "subscriptionId",
+ "resourceGroup",
+ "accountName",
+ "folderPath",
+ "fileName"
+ ],
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "The ADLS account name.",
"type": "string"
},
- "error": {
- "$ref": "#/definitions/DataShareErrorInfo",
- "description": "The error property when status is failed."
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
},
- "startTime": {
- "format": "date-time",
- "description": "start time",
+ "fileName": {
+ "description": "The file name in the ADLS account.",
"type": "string"
},
- "status": {
- "description": "Operation state of the long running operation.",
- "enum": [
- "Accepted",
- "InProgress",
- "TransientFailure",
- "Succeeded",
- "Failed",
- "Canceled"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "status",
- "modelAsString": true
- }
- }
- }
- },
- "AccountList": {
- "description": "List response for get Accounts.",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "folderPath": {
+ "description": "The folder path within the ADLS account.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Account"
- }
+ "resourceGroup": {
+ "description": "Resource group of ADLS account.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of ADLS account.",
+ "type": "string"
}
}
},
- "ConsumerInvitation": {
- "description": "A consumer Invitation data transfer object.",
+ "ADLSGen1FolderDataSet": {
+ "description": "An ADLS Gen 1 folder data set.",
"required": [
- "properties"
+ "properties",
+ "kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ConsumerInvitationProperties",
- "description": "Properties on the account",
+ "$ref": "#/definitions/ADLSGen1FolderProperties",
+ "description": "ADLS Gen 1 folder data set properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen1Folder"
},
- "ConsumerInvitationProperties": {
- "description": "Properties of consumer invitation",
+ "ADLSGen1FolderProperties": {
+ "description": "Properties of the ADLS Gen1 folder data set.",
"required": [
- "invitationId"
+ "subscriptionId",
+ "resourceGroup",
+ "accountName",
+ "folderPath"
],
"type": "object",
"properties": {
- "dataSetCount": {
- "format": "int32",
- "description": "Number of data sets in a share",
- "type": "integer",
- "readOnly": true
- },
- "description": {
- "description": "Description shared when the invitation was created",
- "type": "string",
- "readOnly": true
- },
- "invitationId": {
- "description": "Unique id of the invitation.",
+ "accountName": {
+ "description": "The ADLS account name.",
"type": "string"
},
- "invitationStatus": {
- "description": "The status of the invitation.",
- "enum": [
- "Pending",
- "Accepted",
- "Rejected",
- "Withdrawn"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "invitationStatus",
- "modelAsString": true
- }
- },
- "location": {
- "description": "invitation location",
- "type": "string",
- "readOnly": true
- },
- "providerEmail": {
- "description": "Email of the provider who created the resource",
- "type": "string",
- "readOnly": true
- },
- "providerName": {
- "description": "Name of the provider who created the resource",
- "type": "string",
- "readOnly": true
- },
- "providerTenantName": {
- "description": "Tenant name of the provider who created the resource",
- "type": "string",
- "readOnly": true
- },
- "respondedAt": {
- "format": "date-time",
- "description": "The time the recipient responded to the invitation.",
- "type": "string",
- "readOnly": true
- },
- "sentAt": {
- "format": "date-time",
- "description": "Gets the time at which the invitation was sent.",
- "type": "string",
- "readOnly": true
- },
- "shareName": {
- "description": "Gets the source share Name.",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
- "termsOfUse": {
- "description": "Terms of use shared when the invitation was created",
- "type": "string",
- "readOnly": true
+ "folderPath": {
+ "description": "The folder path within the ADLS account.",
+ "type": "string"
},
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of ADLS account.",
+ "type": "string"
},
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
+ "subscriptionId": {
+ "description": "Subscription id of ADLS account.",
+ "type": "string"
}
}
},
- "ConsumerInvitationList": {
- "description": "List response for get InvitationList",
+ "ADLSGen2FileDataSet": {
+ "description": "An ADLS Gen 2 file data set.",
"required": [
- "value"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ConsumerInvitation"
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FileProperties",
+ "description": "ADLS Gen 2 file data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2File"
},
- "DataSet": {
- "description": "A DataSet data transfer object.",
+ "ADLSGen2FileDataSetMapping": {
+ "description": "An ADLS Gen2 file data set mapping.",
"required": [
+ "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSetMapping"
}
],
"properties": {
- "kind": {
- "description": "Kind of data set.",
- "enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "AdlsGen1Folder",
- "AdlsGen1File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties",
+ "description": "ADLS Gen2 file data set mapping properties.",
+ "x-ms-client-flatten": true
}
},
- "discriminator": "kind"
+ "x-ms-discriminator-value": "AdlsGen2File"
},
- "DataSetList": {
- "description": "List response for get DataSets",
+ "ADLSGen2FileDataSetMappingProperties": {
+ "description": "ADLS Gen 2 file data set mapping property bag.",
"required": [
- "value"
+ "fileSystem",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataSet"
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
}
- }
- }
- },
- "DataSetMapping": {
- "description": "A data set mapping data transfer object.",
- "required": [
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
- }
- ],
- "properties": {
- "kind": {
- "description": "Kind of data set mapping.",
+ },
+ "filePath": {
+ "description": "File path within the file system.",
+ "type": "string"
+ },
+ "fileSystem": {
+ "description": "File system to which the file belongs.",
+ "type": "string"
+ },
+ "outputType": {
+ "description": "Type of output file",
"enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
+ "Csv",
+ "Parquet"
],
"type": "string",
"x-ms-enum": {
- "name": "kind",
+ "name": "outputType",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
"modelAsString": true
}
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
}
- },
- "discriminator": "kind"
+ }
},
- "DataSetMappingList": {
- "description": "List response for get DataSetMappings",
+ "ADLSGen2FileProperties": {
+ "description": "Properties of the ADLS Gen2 file data set.",
"required": [
- "value"
+ "fileSystem",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "filePath": {
+ "description": "File path within the file system.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataSetMapping"
- }
+ "fileSystem": {
+ "description": "File system to which the file belongs.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "Invitation": {
- "description": "A Invitation data transfer object.",
+ "ADLSGen2FileSystemDataSet": {
+ "description": "An ADLS Gen 2 file system data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/InvitationProperties",
- "description": "Properties on the Invitation",
+ "$ref": "#/definitions/ADLSGen2FileSystemProperties",
+ "description": "ADLS Gen 2 file system data set properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2FileSystem"
},
- "InvitationProperties": {
- "description": "Invitation property bag.",
+ "ADLSGen2FileSystemDataSetMapping": {
+ "description": "An ADLS Gen2 file system data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "invitationId": {
- "description": "unique invitation id",
- "type": "string",
- "readOnly": true
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties",
+ "description": "ADLS Gen2 file system data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "AdlsGen2FileSystem"
+ },
+ "ADLSGen2FileSystemDataSetMappingProperties": {
+ "description": "ADLS Gen 2 file system data set mapping property bag.",
+ "required": [
+ "fileSystem",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
},
- "invitationStatus": {
- "description": "The status of the invitation.",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Pending",
- "Accepted",
- "Rejected",
- "Withdrawn"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "invitationStatus",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "respondedAt": {
- "format": "date-time",
- "description": "The time the recipient responded to the invitation.",
- "type": "string",
- "readOnly": true
+ "fileSystem": {
+ "description": "The file system name.",
+ "type": "string"
},
- "sentAt": {
- "format": "date-time",
- "description": "Gets the time at which the invitation was sent.",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "targetActiveDirectoryId": {
- "description": "The target Azure AD Id. Can't be combined with email.",
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
"type": "string"
},
- "targetEmail": {
- "description": "The email the invitation is directed to.",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
"type": "string"
},
- "targetObjectId": {
- "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.",
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
"type": "string"
- },
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
- },
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
}
}
},
- "InvitationList": {
- "description": "List response for get InvitationList",
+ "ADLSGen2FileSystemProperties": {
+ "description": "Properties of the ADLS Gen2 file system data set.",
"required": [
- "value"
+ "fileSystem",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "fileSystem": {
+ "description": "The file system name.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Invitation"
- }
- }
- }
- },
- "OperationList": {
- "description": "List response for get operations.",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "resourceGroup": {
+ "description": "Resource group of storage account",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationModel"
- }
- }
- }
- },
- "OperationModel": {
- "description": "The response model for get operations",
- "type": "object",
- "properties": {
- "display": {
- "$ref": "#/definitions/OperationModelProperties",
- "description": "Properties on the operation"
- },
- "name": {
- "description": "Operation name for display purposes",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
"type": "string"
},
- "origin": {
- "description": "origin of the operation",
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
"type": "string"
- },
- "properties": {
- "$ref": "#/definitions/OperationMetaPropertyInfo",
- "description": "properties for the operation meta info",
- "x-ms-client-flatten": true
}
}
},
- "OperationModelProperties": {
- "description": "Properties on operations",
+ "ADLSGen2FolderDataSet": {
+ "description": "An ADLS Gen 2 folder data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
- "properties": {
- "description": {
- "description": "Description of the operation for display purposes",
- "type": "string"
- },
- "operation": {
- "description": "Name of the operation for display purposes",
- "type": "string"
- },
- "provider": {
- "description": "Name of the provider for display purposes",
- "type": "string"
- },
- "resource": {
- "description": "Name of the resource type for display purposes",
- "type": "string"
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
}
- }
- },
- "OperationMetaPropertyInfo": {
- "description": "properties on meta info",
- "type": "object",
+ ],
"properties": {
- "serviceSpecification": {
- "$ref": "#/definitions/OperationMetaServiceSpecification",
- "description": "meta service specification"
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FolderProperties",
+ "description": "ADLS Gen 2 folder data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2Folder"
},
- "OperationMetaServiceSpecification": {
- "description": "The operation meta service specification",
+ "ADLSGen2FolderDataSetMapping": {
+ "description": "An ADLS Gen2 folder data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "logSpecifications": {
- "description": "log specifications for the operation",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationMetaLogSpecification"
- }
- },
- "metricSpecifications": {
- "description": "metric specifications for the operation",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationMetaMetricSpecification"
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties",
+ "description": "ADLS Gen2 folder data set mapping properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2Folder"
},
- "OperationMetaMetricSpecification": {
- "description": "metric specifications for the operation",
+ "ADLSGen2FolderDataSetMappingProperties": {
+ "description": "ADLS Gen 2 folder data set mapping property bag.",
+ "required": [
+ "fileSystem",
+ "folderPath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
"type": "object",
"properties": {
- "aggregationType": {
- "description": "aggregation type of metric",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "dimensions": {
- "description": "properties for dimension",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DimensionProperties"
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
}
},
- "displayDescription": {
- "description": "description of the metric",
- "type": "string"
- },
- "displayName": {
- "description": "localized name of the metric",
+ "fileSystem": {
+ "description": "File system to which the folder belongs.",
"type": "string"
},
- "enableRegionalMdmAccount": {
- "description": "enable regional mdm account",
+ "folderPath": {
+ "description": "Folder path within the file system.",
"type": "string"
},
- "internalMetricName": {
- "description": "internal metric name",
- "type": "string"
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "name": {
- "description": "name of the metric",
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
"type": "string"
},
- "resourceIdDimensionNameOverride": {
- "description": "dimension name use to replace resource id if specified",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
"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"
- }
- },
- "unit": {
- "description": "units for the metric",
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
"type": "string"
}
}
},
- "OperationMetaLogSpecification": {
- "description": "log specifications for operation api",
+ "ADLSGen2FolderProperties": {
+ "description": "Properties of the ADLS Gen2 folder data set.",
+ "required": [
+ "fileSystem",
+ "folderPath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
+ ],
"type": "object",
"properties": {
- "blobDuration": {
- "description": "blob duration of the log",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "fileSystem": {
+ "description": "File system to which the folder belongs.",
"type": "string"
},
- "displayName": {
- "description": "localized name of the log category",
+ "folderPath": {
+ "description": "Folder path within the file system.",
"type": "string"
},
- "name": {
- "description": "name of the log category",
+ "resourceGroup": {
+ "description": "Resource group of storage account",
"type": "string"
- }
- }
- },
- "DimensionProperties": {
- "description": "properties for dimension",
- "type": "object",
- "properties": {
- "displayName": {
- "description": "localized display name of the dimension to customer",
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
"type": "string"
},
- "name": {
- "description": "dimension name",
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
"type": "string"
}
}
},
- "Share": {
- "description": "A share data transfer object.",
+ "BlobContainerDataSet": {
+ "description": "An Azure storage blob container data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ShareProperties",
- "description": "Properties on the share",
+ "$ref": "#/definitions/BlobContainerProperties",
+ "description": "Blob container data set properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "Container"
},
- "ShareProperties": {
- "description": "Share property bag.",
+ "BlobContainerDataSetMapping": {
+ "description": "A Blob container data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the share was created.",
- "type": "string",
- "readOnly": true
+ "properties": {
+ "$ref": "#/definitions/BlobContainerMappingProperties",
+ "description": "Blob container data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Container"
+ },
+ "BlobContainerMappingProperties": {
+ "description": "Azure storage Blob container data set mapping property bag.",
+ "required": [
+ "containerName",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "BLOB Container name.",
+ "type": "string"
},
- "description": {
- "description": "Share description.",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "provisioningState": {
- "description": "Gets or sets the provisioning state",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "shareKind": {
- "description": "Share kind.",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
"enum": [
- "CopyBased",
- "InPlace"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
+ "readOnly": true,
"x-ms-enum": {
- "name": "shareKind",
+ "name": "provisioningState",
"modelAsString": true
}
},
- "terms": {
- "description": "Share terms.",
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
"type": "string"
},
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
- },
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "ShareList": {
- "description": "List response for get Shares.",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Share"
- }
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
}
}
},
- "ShareSynchronizationList": {
- "description": "List response for get ShareSynchronization.",
+ "BlobContainerProperties": {
+ "description": "Properties of the BLOB container data set.",
"required": [
- "value"
+ "containerName",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ShareSynchronization"
- }
- }
- }
- },
- "ShareSynchronization": {
- "description": "A ShareSynchronization data transfer object.",
- "type": "object",
- "properties": {
- "consumerEmail": {
- "description": "Email of the user who created the synchronization",
- "type": "string"
- },
- "consumerName": {
- "description": "Name of the user who created the synchronization",
- "type": "string"
- },
- "consumerTenantName": {
- "description": "Tenant name of the consumer who created the synchronization",
- "type": "string"
- },
- "durationMs": {
- "format": "int32",
- "description": "synchronization duration",
- "type": "integer"
- },
- "endTime": {
- "format": "date-time",
- "description": "End time of synchronization",
+ "containerName": {
+ "description": "BLOB Container name.",
"type": "string"
},
- "message": {
- "description": "message of synchronization",
- "type": "string"
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
},
- "startTime": {
- "format": "date-time",
- "description": "start time of synchronization",
+ "resourceGroup": {
+ "description": "Resource group of storage account",
"type": "string"
},
- "status": {
- "description": "Raw Status",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
"type": "string"
},
- "synchronizationId": {
- "description": "Synchronization id",
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
"type": "string"
- },
- "synchronizationMode": {
- "description": "Synchronization mode",
- "enum": [
- "Incremental",
- "FullSync"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "synchronizationMode",
- "modelAsString": true
- }
}
}
},
- "SynchronizationDetailsList": {
- "description": "details of synchronization",
+ "BlobDataSet": {
+ "description": "An Azure storage blob data set.",
"required": [
- "value"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/SynchronizationDetails"
- }
+ "properties": {
+ "$ref": "#/definitions/BlobProperties",
+ "description": "Blob data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "Blob"
},
- "SynchronizationDetails": {
- "description": "Synchronization details at data set level",
+ "BlobDataSetMapping": {
+ "description": "A Blob data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "dataSetId": {
- "description": "Id of data set",
- "type": "string",
- "readOnly": true
- },
- "dataSetType": {
- "description": "Type of the data set",
+ "properties": {
+ "$ref": "#/definitions/BlobMappingProperties",
+ "description": "Blob data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Blob"
+ },
+ "BlobFolderDataSet": {
+ "description": "An Azure storage blob folder data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BlobFolderProperties",
+ "description": "Blob folder data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "BlobFolder"
+ },
+ "BlobFolderDataSetMapping": {
+ "description": "A Blob folder data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BlobFolderMappingProperties",
+ "description": "Blob folder data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "BlobFolder"
+ },
+ "BlobFolderMappingProperties": {
+ "description": "Azure storage Blob folder data set mapping property bag.",
+ "required": [
+ "containerName",
+ "prefix",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "Container that has the file path.",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
+ },
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "AdlsGen1Folder",
- "AdlsGen1File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "dataSetType",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "durationMs": {
- "format": "int32",
- "description": "Duration of data set level copy",
- "type": "integer",
- "readOnly": true
+ "prefix": {
+ "description": "Prefix for blob folder",
+ "type": "string"
},
- "endTime": {
- "format": "date-time",
- "description": "End time of data set level copy",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "filesRead": {
- "format": "int64",
- "description": "The number of files read from the source data set",
- "type": "integer",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
},
- "filesWritten": {
- "format": "int64",
- "description": "The number of files written into the sink data set",
- "type": "integer",
- "readOnly": true
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
},
- "message": {
- "description": "Error message if any",
- "type": "string",
- "readOnly": true
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "BlobFolderProperties": {
+ "description": "Properties of the blob folder data set.",
+ "required": [
+ "containerName",
+ "prefix",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
+ ],
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "Container that has the file path.",
+ "type": "string"
},
- "name": {
- "description": "Name of the data set",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
- "rowsCopied": {
- "format": "int64",
- "description": "The number of files copied into the sink data set",
- "type": "integer",
- "readOnly": true
- },
- "rowsRead": {
- "format": "int64",
- "description": "The number of rows read from the source data set.",
- "type": "integer",
- "readOnly": true
- },
- "sizeRead": {
- "format": "int64",
- "description": "The size of the data read from the source data set in bytes",
- "type": "integer",
- "readOnly": true
- },
- "sizeWritten": {
- "format": "int64",
- "description": "The size of the data written into the sink data set in bytes",
- "type": "integer",
- "readOnly": true
+ "prefix": {
+ "description": "Prefix for blob folder",
+ "type": "string"
},
- "startTime": {
- "format": "date-time",
- "description": "Start time of data set level copy",
- "type": "string",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
},
- "status": {
- "description": "Raw Status",
- "type": "string",
- "readOnly": true
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
},
- "vCore": {
- "format": "int64",
- "description": "The vCore units consumed for the data set synchronization",
- "type": "integer",
- "readOnly": true
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "ProviderShareSubscription": {
- "description": "A provider side share subscription data transfer object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
- }
+ "BlobMappingProperties": {
+ "description": "Azure storage Blob data set mapping property bag.",
+ "required": [
+ "containerName",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProviderShareSubscriptionProperties",
- "description": "properties of providerShareSubscription",
- "x-ms-client-flatten": true
- }
- }
- },
- "ProviderShareSubscriptionProperties": {
- "description": "Provider share subscription properties",
"type": "object",
"properties": {
- "consumerEmail": {
- "description": "Email of the consumer who created the share subscription",
- "type": "string",
- "readOnly": true
- },
- "consumerName": {
- "description": "Name of the consumer who created the share subscription",
- "type": "string",
- "readOnly": true
- },
- "consumerTenantName": {
- "description": "Tenant name of the consumer who created the share subscription",
- "type": "string",
- "readOnly": true
- },
- "createdAt": {
- "format": "date-time",
- "description": "created at",
- "type": "string",
- "readOnly": true
+ "containerName": {
+ "description": "Container that has the file path.",
+ "type": "string"
},
- "providerEmail": {
- "description": "Email of the provider who created the share",
- "type": "string",
- "readOnly": true
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
},
- "providerName": {
- "description": "Name of the provider who created the share",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "sharedAt": {
- "format": "date-time",
- "description": "Shared at",
- "type": "string",
- "readOnly": true
+ "filePath": {
+ "description": "File path within the source data set",
+ "type": "string"
},
- "shareSubscriptionObjectId": {
- "description": "share Subscription Object Id",
+ "outputType": {
+ "description": "File output type",
+ "enum": [
+ "Csv",
+ "Parquet"
+ ],
"type": "string",
- "readOnly": true
+ "x-ms-enum": {
+ "name": "outputType",
+ "modelAsString": true
+ }
},
- "shareSubscriptionStatus": {
- "description": "Gets the status of share subscription",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
"enum": [
- "Active",
- "Revoked",
- "SourceDeleted",
- "Revoking"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "shareSubscriptionStatus",
+ "name": "provisioningState",
"modelAsString": true
}
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "BlobProperties": {
+ "description": "Properties of the blob data set.",
+ "required": [
+ "containerName",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
+ ],
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "Container that has the file path.",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "filePath": {
+ "description": "File path within the source data set",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "ProviderShareSubscriptionList": {
- "description": "List response for get ShareSubscription.",
+ "ConsumerInvitation": {
+ "description": "A consumer Invitation data transfer object.",
+ "required": [
+ "properties"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyDto"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ConsumerInvitationProperties",
+ "description": "Properties on the account",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ConsumerInvitationList": {
+ "description": "List response for get InvitationList",
"required": [
"value"
],
@@ -4078,47 +4196,53 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/ProviderShareSubscription"
+ "$ref": "#/definitions/ConsumerInvitation"
}
}
}
},
- "ShareSubscription": {
- "description": "A share subscription data transfer object.",
- "required": [
- "properties"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ShareSubscriptionProperties",
- "description": "Properties on the share subscription",
- "x-ms-client-flatten": true
- }
- }
- },
- "ShareSubscriptionProperties": {
- "description": "Share subscription property bag.",
+ "ConsumerInvitationProperties": {
+ "description": "Properties of consumer invitation",
"required": [
"invitationId"
],
"type": "object",
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the share subscription was created.",
+ "dataSetCount": {
+ "format": "int32",
+ "description": "Number of data sets in a share",
+ "type": "integer",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Description shared when the invitation was created",
"type": "string",
"readOnly": true
},
"invitationId": {
- "description": "The invitation id.",
+ "description": "Unique id of the invitation.",
"type": "string"
},
+ "invitationStatus": {
+ "description": "The status of the invitation.",
+ "enum": [
+ "Pending",
+ "Accepted",
+ "Rejected",
+ "Withdrawn"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "invitationStatus",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "invitation location",
+ "type": "string",
+ "readOnly": true
+ },
"providerEmail": {
"description": "Email of the provider who created the resource",
"type": "string",
@@ -4134,62 +4258,25 @@
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the share subscription",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- },
- "shareDescription": {
- "description": "Description of share",
+ "respondedAt": {
+ "format": "date-time",
+ "description": "The time the recipient responded to the invitation.",
"type": "string",
"readOnly": true
},
- "shareKind": {
- "description": "Kind of share",
- "enum": [
- "CopyBased",
- "InPlace"
- ],
+ "sentAt": {
+ "format": "date-time",
+ "description": "Gets the time at which the invitation was sent.",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "shareKind",
- "modelAsString": true
- }
+ "readOnly": true
},
"shareName": {
- "description": "Name of the share",
+ "description": "Gets the source share Name.",
"type": "string",
"readOnly": true
},
- "shareSubscriptionStatus": {
- "description": "Gets the current status of share subscription.",
- "enum": [
- "Active",
- "Revoked",
- "SourceDeleted",
- "Revoking"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "shareSubscriptionStatus",
- "modelAsString": true
- }
- },
- "shareTerms": {
- "description": "Terms of a share",
+ "termsOfUse": {
+ "description": "Terms of use shared when the invitation was created",
"type": "string",
"readOnly": true
},
@@ -4205,27 +4292,6 @@
}
}
},
- "ConsumerSourceDataSetList": {
- "description": "A consumer side list of source dataSets",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ConsumerSourceDataSet"
- }
- }
- }
- },
"ConsumerSourceDataSet": {
"description": "A consumer side dataSet data transfer object.",
"type": "object",
@@ -4235,106 +4301,15 @@
}
],
"properties": {
- "properties": {
- "$ref": "#/definitions/ConsumerSourceDataSetProperties",
- "description": "source dataSet properties",
- "x-ms-client-flatten": true
- }
- }
- },
- "ConsumerSourceDataSetProperties": {
- "description": "Properties of consumer source dataSet",
- "type": "object",
- "properties": {
- "dataSetId": {
- "description": "DataSet Id",
- "type": "string",
- "readOnly": true
- },
- "dataSetLocation": {
- "description": "Location of the data set.",
- "type": "string",
- "readOnly": true
- },
- "dataSetName": {
- "description": "DataSet name",
- "type": "string",
- "readOnly": true
- },
- "dataSetPath": {
- "description": "DataSet path",
- "type": "string",
- "readOnly": true
- },
- "dataSetType": {
- "description": "Type of data set",
- "enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "AdlsGen1Folder",
- "AdlsGen1File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetType",
- "modelAsString": true
- }
- }
- }
- },
- "SourceShareSynchronizationSettingList": {
- "description": "List response for get source share Synchronization settings",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/SourceShareSynchronizationSetting"
- }
- }
- }
- },
- "SourceShareSynchronizationSetting": {
- "description": "A view of synchronization setting added by the provider",
- "required": [
- "kind"
- ],
- "type": "object",
- "properties": {
- "kind": {
- "description": "Kind of synchronization",
- "enum": [
- "ScheduleBased"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
+ "properties": {
+ "$ref": "#/definitions/ConsumerSourceDataSetProperties",
+ "description": "source dataSet properties",
+ "x-ms-client-flatten": true
}
- },
- "discriminator": "kind"
+ }
},
- "ShareSubscriptionSynchronizationList": {
- "description": "A consumer side list of share subscription synchronizations",
+ "ConsumerSourceDataSetList": {
+ "description": "A consumer side list of source dataSets",
"required": [
"value"
],
@@ -4349,85 +4324,99 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ "$ref": "#/definitions/ConsumerSourceDataSet"
}
}
}
},
- "ShareSubscriptionSynchronization": {
- "description": "A ShareSubscriptionSynchronization data transfer object.",
- "required": [
- "synchronizationId"
- ],
+ "ConsumerSourceDataSetProperties": {
+ "description": "Properties of consumer source dataSet",
"type": "object",
"properties": {
- "durationMs": {
- "format": "int32",
- "description": "Synchronization duration",
- "type": "integer",
- "readOnly": true
- },
- "endTime": {
- "format": "date-time",
- "description": "End time of synchronization",
+ "dataSetId": {
+ "description": "DataSet Id",
"type": "string",
"readOnly": true
},
- "message": {
- "description": "message of Synchronization",
+ "dataSetLocation": {
+ "description": "Location of the data set.",
"type": "string",
"readOnly": true
},
- "startTime": {
- "format": "date-time",
- "description": "start time of synchronization",
+ "dataSetName": {
+ "description": "DataSet name",
"type": "string",
"readOnly": true
},
- "status": {
- "description": "Raw Status",
+ "dataSetPath": {
+ "description": "DataSet path",
"type": "string",
"readOnly": true
},
- "synchronizationId": {
- "description": "Synchronization id",
- "type": "string"
- },
- "synchronizationMode": {
- "description": "Synchronization Mode",
+ "dataSetType": {
+ "description": "Type of data set",
"enum": [
- "Incremental",
- "FullSync"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "AdlsGen1Folder",
+ "AdlsGen1File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "synchronizationMode",
+ "name": "dataSetType",
"modelAsString": true
}
}
}
},
- "Synchronize": {
- "description": "Payload for the synchronizing the data.",
+ "DataSet": {
+ "description": "A DataSet data transfer object.",
+ "required": [
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyDto"
+ }
+ ],
"properties": {
- "synchronizationMode": {
- "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default",
+ "kind": {
+ "description": "Kind of data set.",
"enum": [
- "Incremental",
- "FullSync"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "AdlsGen1Folder",
+ "AdlsGen1File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"x-ms-enum": {
- "name": "synchronizationMode",
+ "name": "kind",
"modelAsString": true
}
}
- }
+ },
+ "discriminator": "kind"
},
- "ShareSubscriptionList": {
- "description": "List response for get ShareSubscription.",
+ "DataSetList": {
+ "description": "List response for get DataSets",
"required": [
"value"
],
@@ -4442,13 +4431,13 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/ShareSubscription"
+ "$ref": "#/definitions/DataSet"
}
}
}
},
- "SynchronizationSetting": {
- "description": "A Synchronization Setting data transfer object.",
+ "DataSetMapping": {
+ "description": "A data set mapping data transfer object.",
"required": [
"kind"
],
@@ -4460,9 +4449,18 @@
],
"properties": {
"kind": {
- "description": "Kind of synchronization",
+ "description": "Kind of data set mapping.",
"enum": [
- "ScheduleBased"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"x-ms-enum": {
@@ -4473,8 +4471,8 @@
},
"discriminator": "kind"
},
- "SynchronizationSettingList": {
- "description": "List response for get Synchronization settings",
+ "DataSetMappingList": {
+ "description": "List response for get DataSetMappings",
"required": [
"value"
],
@@ -4489,39 +4487,146 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/SynchronizationSetting"
+ "$ref": "#/definitions/DataSetMapping"
}
}
}
},
- "Trigger": {
- "description": "A Trigger data transfer object.",
+ "DataShareError": {
+ "description": "The data share error model.",
"required": [
- "kind"
+ "error"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/DataShareErrorInfo",
+ "description": "The data share error body"
}
+ }
+ },
+ "DataShareErrorInfo": {
+ "description": "The data share error body model.",
+ "required": [
+ "code",
+ "message"
],
+ "type": "object",
"properties": {
- "kind": {
- "description": "Kind of synchronization",
+ "code": {
+ "description": "Code of the error",
+ "type": "string"
+ },
+ "details": {
+ "description": "Nested details of the error model",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataShareErrorInfo"
+ }
+ },
+ "message": {
+ "description": "Message of the error",
+ "type": "string"
+ },
+ "target": {
+ "description": "Target of the error",
+ "type": "string"
+ }
+ }
+ },
+ "DefaultDto": {
+ "description": "Base data transfer object implementation for default resources.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource id of the azure resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "location": {
+ "description": "Location of the azure resource.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the azure resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "tags": {
+ "description": "Tags on the azure resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
+ },
+ "type": {
+ "description": "Type of the azure resource",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "DimensionProperties": {
+ "description": "properties for dimension",
+ "type": "object",
+ "properties": {
+ "displayName": {
+ "description": "localized display name of the dimension to customer",
+ "type": "string"
+ },
+ "name": {
+ "description": "dimension name",
+ "type": "string"
+ }
+ }
+ },
+ "Identity": {
+ "description": "Identity of resource",
+ "type": "object",
+ "properties": {
+ "principalId": {
+ "description": "service principal Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Tenant Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Identity Type",
"enum": [
- "ScheduleBased"
+ "SystemAssigned"
],
"type": "string",
"x-ms-enum": {
- "name": "kind",
+ "name": "type",
"modelAsString": true
}
}
- },
- "discriminator": "kind"
+ }
+ },
+ "Invitation": {
+ "description": "A Invitation data transfer object.",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyDto"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/InvitationProperties",
+ "description": "Properties on the Invitation",
+ "x-ms-client-flatten": true
+ }
+ }
},
- "TriggerList": {
- "description": "List response for get triggers",
+ "InvitationList": {
+ "description": "List response for get InvitationList",
"required": [
"value"
],
@@ -4536,88 +4641,73 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/Trigger"
+ "$ref": "#/definitions/Invitation"
}
}
}
},
- "ScheduledSynchronizationSetting": {
- "description": "A type of synchronization setting based on schedule",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SynchronizationSetting"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ScheduledSynchronizationSettingProperties",
- "description": "Properties of scheduled synchronization",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "ScheduleBased"
- },
- "ScheduledSynchronizationSettingProperties": {
- "description": "A Scheduled synchronization setting data transfer object.",
- "required": [
- "recurrenceInterval",
- "synchronizationTime"
- ],
+ "InvitationProperties": {
+ "description": "Invitation property bag.",
"type": "object",
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the synchronization setting was created.",
+ "invitationId": {
+ "description": "unique invitation id",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Gets or sets the provisioning state",
+ "invitationStatus": {
+ "description": "The status of the invitation.",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Pending",
+ "Accepted",
+ "Rejected",
+ "Withdrawn"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "invitationStatus",
"modelAsString": true
}
},
- "recurrenceInterval": {
- "description": "Recurrence Interval",
- "enum": [
- "Hour",
- "Day"
- ],
+ "respondedAt": {
+ "format": "date-time",
+ "description": "The time the recipient responded to the invitation.",
"type": "string",
- "x-ms-enum": {
- "name": "recurrenceInterval",
- "modelAsString": true
- }
+ "readOnly": true
},
- "synchronizationTime": {
+ "sentAt": {
"format": "date-time",
- "description": "Synchronization time",
+ "description": "Gets the time at which the invitation was sent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetActiveDirectoryId": {
+ "description": "The target Azure AD Id. Can't be combined with email.",
+ "type": "string"
+ },
+ "targetEmail": {
+ "description": "The email the invitation is directed to.",
+ "type": "string"
+ },
+ "targetObjectId": {
+ "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.",
"type": "string"
},
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
"userName": {
- "description": "Name of the user who created the synchronization setting.",
+ "description": "Name of the user who created the resource",
"type": "string",
"readOnly": true
}
}
},
- "ScheduledTrigger": {
- "description": "A type of trigger based on schedule",
+ "KustoClusterDataSet": {
+ "description": "A kusto cluster data set.",
"required": [
"properties",
"kind"
@@ -4625,159 +4715,132 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Trigger"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ScheduledTriggerProperties",
- "description": "Properties of scheduled synchronization",
+ "$ref": "#/definitions/KustoClusterDataSetProperties",
+ "description": "Kusto cluster data set properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "ScheduleBased"
+ "x-ms-discriminator-value": "KustoCluster"
},
- "ScheduledTriggerProperties": {
- "description": "A Scheduled trigger data transfer object.",
+ "KustoClusterDataSetMapping": {
+ "description": "A Kusto cluster data set mapping",
"required": [
- "recurrenceInterval",
- "synchronizationTime"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the trigger was created.",
- "type": "string",
- "readOnly": true
+ "properties": {
+ "$ref": "#/definitions/KustoClusterDataSetMappingProperties",
+ "description": "Kusto cluster data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "KustoCluster"
+ },
+ "KustoClusterDataSetMappingProperties": {
+ "description": "Properties of the Kusto cluster data set mapping",
+ "required": [
+ "kustoClusterResourceId",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
},
- "provisioningState": {
- "description": "Gets the provisioning state",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "recurrenceInterval": {
- "description": "Recurrence Interval",
- "enum": [
- "Hour",
- "Day"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "recurrenceInterval",
- "modelAsString": true
- }
+ "kustoClusterResourceId": {
+ "description": "Resource id of the sink kusto cluster.",
+ "type": "string"
},
- "synchronizationMode": {
- "description": "Synchronization mode",
- "enum": [
- "Incremental",
- "FullSync"
- ],
+ "location": {
+ "description": "Location of the sink kusto cluster.",
"type": "string",
- "x-ms-enum": {
- "name": "synchronizationMode",
- "modelAsString": true
- }
- },
- "synchronizationTime": {
- "format": "date-time",
- "description": "Synchronization time",
- "type": "string"
+ "readOnly": true
},
- "triggerStatus": {
- "description": "Gets the trigger state",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
"enum": [
- "Active",
- "Inactive",
- "SourceSynchronizationSettingDeleted"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "triggerStatus",
+ "name": "provisioningState",
"modelAsString": true
}
- },
- "userName": {
- "description": "Name of the user who created the trigger.",
- "type": "string",
- "readOnly": true
}
}
},
- "BlobDataSet": {
- "description": "An Azure storage blob data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BlobProperties",
- "description": "Blob data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "Blob"
- },
- "BlobProperties": {
- "description": "Properties of the blob data set.",
+ "KustoClusterDataSetProperties": {
+ "description": "Properties of the kusto cluster data set.",
"required": [
- "containerName",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
+ "kustoClusterResourceId"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
"dataSetId": {
"description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
- "filePath": {
- "description": "File path within the source data set",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "kustoClusterResourceId": {
+ "description": "Resource id of the kusto cluster.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "location": {
+ "description": "Location of the kusto cluster.",
+ "type": "string",
+ "readOnly": true
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "provisioningState": {
+ "description": "Provisioning state of the kusto cluster data set.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
}
}
},
- "BlobFolderDataSet": {
- "description": "An Azure storage blob folder data set.",
+ "KustoDatabaseDataSet": {
+ "description": "A kusto database data set.",
"required": [
"properties",
"kind"
@@ -4790,53 +4853,15 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobFolderProperties",
- "description": "Blob folder data set properties.",
+ "$ref": "#/definitions/KustoDatabaseDataSetProperties",
+ "description": "Kusto database data set properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "BlobFolder"
- },
- "BlobFolderProperties": {
- "description": "Properties of the blob folder data set.",
- "required": [
- "containerName",
- "prefix",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
- ],
- "type": "object",
- "properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "prefix": {
- "description": "Prefix for blob folder",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
- },
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
- }
- }
+ "x-ms-discriminator-value": "KustoDatabase"
},
- "BlobContainerDataSet": {
- "description": "An Azure storage blob container data set.",
+ "KustoDatabaseDataSetMapping": {
+ "description": "A Kusto database data set mapping",
"required": [
"properties",
"kind"
@@ -4844,80 +4869,74 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/DataSetMapping"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobContainerProperties",
- "description": "Blob container data set properties.",
+ "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties",
+ "description": "Kusto database data set mapping properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "Container"
+ "x-ms-discriminator-value": "KustoDatabase"
},
- "BlobContainerProperties": {
- "description": "Properties of the BLOB container data set.",
+ "KustoDatabaseDataSetMappingProperties": {
+ "description": "Properties of the Kusto database data set mapping",
"required": [
- "containerName",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
+ "kustoClusterResourceId",
+ "dataSetId"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "BLOB Container name.",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "kustoClusterResourceId": {
+ "description": "Resource id of the sink kusto cluster.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "location": {
+ "description": "Location of the sink kusto cluster.",
+ "type": "string",
+ "readOnly": true
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
}
}
},
- "ADLSGen2FileDataSet": {
- "description": "An ADLS Gen 2 file data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FileProperties",
- "description": "ADLS Gen 2 file data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "AdlsGen2File"
- },
- "ADLSGen2FileProperties": {
- "description": "Properties of the ADLS Gen2 file data set.",
+ "KustoDatabaseDataSetProperties": {
+ "description": "Properties of the kusto database data set.",
"required": [
- "fileSystem",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
+ "kustoDatabaseResourceId"
],
"type": "object",
"properties": {
@@ -4926,482 +4945,492 @@
"type": "string",
"readOnly": true
},
- "filePath": {
- "description": "File path within the file system.",
- "type": "string"
- },
- "fileSystem": {
- "description": "File system to which the file belongs.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "kustoDatabaseResourceId": {
+ "description": "Resource id of the kusto database.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "location": {
+ "description": "Location of the kusto cluster.",
+ "type": "string",
+ "readOnly": true
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "provisioningState": {
+ "description": "Provisioning state of the kusto database data set.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
}
}
},
- "ADLSGen2FolderDataSet": {
- "description": "An ADLS Gen 2 folder data set.",
+ "OperationList": {
+ "description": "List response for get operations.",
"required": [
- "properties",
- "kind"
+ "value"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FolderProperties",
- "description": "ADLS Gen 2 folder data set properties.",
- "x-ms-client-flatten": true
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationModel"
+ }
}
- },
- "x-ms-discriminator-value": "AdlsGen2Folder"
+ }
+ },
+ "OperationMetaLogSpecification": {
+ "description": "log specifications for operation api",
+ "type": "object",
+ "properties": {
+ "blobDuration": {
+ "description": "blob duration of the log",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "localized name of the log category",
+ "type": "string"
+ },
+ "name": {
+ "description": "name of the log category",
+ "type": "string"
+ }
+ }
},
- "ADLSGen2FolderProperties": {
- "description": "Properties of the ADLS Gen2 folder data set.",
- "required": [
- "fileSystem",
- "folderPath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
- ],
+ "OperationMetaMetricSpecification": {
+ "description": "metric specifications for the operation",
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
+ "aggregationType": {
+ "description": "aggregation type of metric",
+ "type": "string"
},
- "fileSystem": {
- "description": "File system to which the folder belongs.",
+ "dimensions": {
+ "description": "properties for dimension",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DimensionProperties"
+ }
+ },
+ "displayDescription": {
+ "description": "description of the metric",
"type": "string"
},
- "folderPath": {
- "description": "Folder path within the file system.",
+ "displayName": {
+ "description": "localized name of the metric",
"type": "string"
},
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "enableRegionalMdmAccount": {
+ "description": "enable regional mdm account",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
+ "internalMetricName": {
+ "description": "internal metric name",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
+ "name": {
+ "description": "name of the metric",
+ "type": "string"
+ },
+ "resourceIdDimensionNameOverride": {
+ "description": "dimension name use to replace resource id if specified",
+ "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"
+ }
+ },
+ "unit": {
+ "description": "units for the metric",
"type": "string"
}
}
},
- "ADLSGen2FileSystemDataSet": {
- "description": "An ADLS Gen 2 file system data set.",
- "required": [
- "properties",
- "kind"
- ],
+ "OperationMetaPropertyInfo": {
+ "description": "properties on meta info",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FileSystemProperties",
- "description": "ADLS Gen 2 file system data set properties.",
- "x-ms-client-flatten": true
+ "serviceSpecification": {
+ "$ref": "#/definitions/OperationMetaServiceSpecification",
+ "description": "meta service specification"
}
- },
- "x-ms-discriminator-value": "AdlsGen2FileSystem"
+ }
},
- "ADLSGen2FileSystemProperties": {
- "description": "Properties of the ADLS Gen2 file system data set.",
- "required": [
- "fileSystem",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
- ],
+ "OperationMetaServiceSpecification": {
+ "description": "The operation meta service specification",
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "fileSystem": {
- "description": "The file system name.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "logSpecifications": {
+ "description": "log specifications for the operation",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetaLogSpecification"
+ }
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "metricSpecifications": {
+ "description": "metric specifications for the operation",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetaMetricSpecification"
+ }
}
}
},
- "ADLSGen1FolderDataSet": {
- "description": "An ADLS Gen 1 folder data set.",
- "required": [
- "properties",
- "kind"
- ],
+ "OperationModel": {
+ "description": "The response model for get operations",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
"properties": {
+ "display": {
+ "$ref": "#/definitions/OperationModelProperties",
+ "description": "Properties on the operation"
+ },
+ "name": {
+ "description": "Operation name for display purposes",
+ "type": "string"
+ },
+ "origin": {
+ "description": "origin of the operation",
+ "type": "string"
+ },
"properties": {
- "$ref": "#/definitions/ADLSGen1FolderProperties",
- "description": "ADLS Gen 1 folder data set properties.",
+ "$ref": "#/definitions/OperationMetaPropertyInfo",
+ "description": "properties for the operation meta info",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "AdlsGen1Folder"
+ }
},
- "ADLSGen1FolderProperties": {
- "description": "Properties of the ADLS Gen1 folder data set.",
- "required": [
- "subscriptionId",
- "resourceGroup",
- "accountName",
- "folderPath"
- ],
+ "OperationModelProperties": {
+ "description": "Properties on operations",
"type": "object",
"properties": {
- "accountName": {
- "description": "The ADLS account name.",
+ "description": {
+ "description": "Description of the operation for display purposes",
"type": "string"
},
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "folderPath": {
- "description": "The folder path within the ADLS account.",
+ "operation": {
+ "description": "Name of the operation for display purposes",
"type": "string"
},
- "resourceGroup": {
- "description": "Resource group of ADLS account.",
+ "provider": {
+ "description": "Name of the provider for display purposes",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of ADLS account.",
+ "resource": {
+ "description": "Name of the resource type for display purposes",
"type": "string"
}
}
},
- "ADLSGen1FileDataSet": {
- "description": "An ADLS Gen 1 file data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen1FileProperties",
- "description": "ADLS Gen 1 file data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "AdlsGen1File"
- },
- "ADLSGen1FileProperties": {
- "description": "Properties of the ADLS Gen1 file data set.",
+ "OperationResponse": {
+ "description": "Response for long running operation",
"required": [
- "subscriptionId",
- "resourceGroup",
- "accountName",
- "folderPath",
- "fileName"
+ "status"
],
"type": "object",
"properties": {
- "accountName": {
- "description": "The ADLS account name.",
- "type": "string"
- },
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "fileName": {
- "description": "The file name in the ADLS account.",
- "type": "string"
- },
- "folderPath": {
- "description": "The folder path within the ADLS account.",
+ "endTime": {
+ "format": "date-time",
+ "description": "start time",
"type": "string"
},
- "resourceGroup": {
- "description": "Resource group of ADLS account.",
- "type": "string"
+ "error": {
+ "$ref": "#/definitions/DataShareErrorInfo",
+ "description": "The error property when status is failed."
},
- "subscriptionId": {
- "description": "Subscription id of ADLS account.",
+ "startTime": {
+ "format": "date-time",
+ "description": "start time",
"type": "string"
+ },
+ "status": {
+ "description": "Operation state of the long running operation.",
+ "enum": [
+ "Accepted",
+ "InProgress",
+ "TransientFailure",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "status",
+ "modelAsString": true
+ }
}
}
},
- "KustoClusterDataSet": {
- "description": "A kusto cluster data set.",
- "required": [
- "properties",
- "kind"
- ],
+ "ProviderShareSubscription": {
+ "description": "A provider side share subscription data transfer object.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/KustoClusterDataSetProperties",
- "description": "Kusto cluster data set properties.",
+ "$ref": "#/definitions/ProviderShareSubscriptionProperties",
+ "description": "properties of providerShareSubscription",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "KustoCluster"
+ }
},
- "KustoClusterDataSetProperties": {
- "description": "Properties of the kusto cluster data set.",
+ "ProviderShareSubscriptionList": {
+ "description": "List response for get ShareSubscription.",
"required": [
- "kustoClusterResourceId"
+ "value"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProviderShareSubscription"
+ }
+ }
+ }
+ },
+ "ProviderShareSubscriptionProperties": {
+ "description": "Provider share subscription properties",
+ "type": "object",
+ "properties": {
+ "consumerEmail": {
+ "description": "Email of the consumer who created the share subscription",
"type": "string",
"readOnly": true
},
- "kustoClusterResourceId": {
- "description": "Resource id of the kusto cluster.",
- "type": "string"
+ "consumerName": {
+ "description": "Name of the consumer who created the share subscription",
+ "type": "string",
+ "readOnly": true
},
- "location": {
- "description": "Location of the kusto cluster.",
+ "consumerTenantName": {
+ "description": "Tenant name of the consumer who created the share subscription",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the kusto cluster data set.",
+ "createdAt": {
+ "format": "date-time",
+ "description": "created at",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerEmail": {
+ "description": "Email of the provider who created the share",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerName": {
+ "description": "Name of the provider who created the share",
+ "type": "string",
+ "readOnly": true
+ },
+ "sharedAt": {
+ "format": "date-time",
+ "description": "Shared at",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareSubscriptionObjectId": {
+ "description": "share Subscription Object Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareSubscriptionStatus": {
+ "description": "Gets the status of share subscription",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Active",
+ "Revoked",
+ "SourceDeleted",
+ "Revoking"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "shareSubscriptionStatus",
"modelAsString": true
}
}
}
},
- "KustoDatabaseDataSet": {
- "description": "A kusto database data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/KustoDatabaseDataSetProperties",
- "description": "Kusto database data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "KustoDatabase"
- },
- "KustoDatabaseDataSetProperties": {
- "description": "Properties of the kusto database data set.",
- "required": [
- "kustoDatabaseResourceId"
- ],
+ "ProxyDto": {
+ "description": "Base data transfer object implementation for proxy resources.",
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "id": {
+ "description": "The resource id of the azure resource",
"type": "string",
"readOnly": true
},
- "kustoDatabaseResourceId": {
- "description": "Resource id of the kusto database.",
- "type": "string"
- },
- "location": {
- "description": "Location of the kusto cluster.",
+ "name": {
+ "description": "Name of the azure resource",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the kusto database data set.",
+ "type": {
+ "description": "Type of the azure resource",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ScheduledSourceShareSynchronizationSettingProperties": {
+ "description": "A Scheduled source synchronization setting data transfer object.",
+ "type": "object",
+ "properties": {
+ "recurrenceInterval": {
+ "description": "Recurrence Interval",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Hour",
+ "Day"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "recurrenceInterval",
"modelAsString": true
}
+ },
+ "synchronizationTime": {
+ "format": "date-time",
+ "description": "Synchronization time",
+ "type": "string"
}
}
},
- "SqlDWTableDataSet": {
- "description": "A SQL DW table data set.",
+ "ScheduledSourceSynchronizationSetting": {
+ "description": "A type of synchronization setting based on schedule",
"required": [
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/SourceShareSynchronizationSetting"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/SqlDWTableProperties",
- "description": "SQL DW table data set properties.",
+ "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties",
+ "description": "Properties of scheduled synchronization",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "SqlDWTable"
- },
- "SqlDWTableProperties": {
- "description": "Properties of the SQL DW table data set.",
- "required": [
- "dataWarehouseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId"
- ],
- "type": "object",
- "properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "dataWarehouseName": {
- "description": "DataWarehouse name of the source data set",
- "type": "string"
- },
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
- },
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
- },
- "tableName": {
- "description": "SQL DW table name.",
- "type": "string"
- }
- }
+ "x-ms-discriminator-value": "ScheduleBased"
},
- "SqlDBTableDataSet": {
- "description": "A SQL DB table data set.",
+ "ScheduledSynchronizationSetting": {
+ "description": "A type of synchronization setting based on schedule",
"required": [
+ "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/SynchronizationSetting"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/SqlDBTableProperties",
- "description": "SQL DB table data set properties.",
+ "$ref": "#/definitions/ScheduledSynchronizationSettingProperties",
+ "description": "Properties of scheduled synchronization",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "SqlDBTable"
+ "x-ms-discriminator-value": "ScheduleBased"
},
- "SqlDBTableProperties": {
- "description": "Properties of the SQL DB table data set.",
- "required": [
- "databaseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId"
+ "ScheduledSynchronizationSettingProperties": {
+ "description": "A Scheduled synchronization setting data transfer object.",
+ "required": [
+ "recurrenceInterval",
+ "synchronizationTime"
],
"type": "object",
"properties": {
- "databaseName": {
- "description": "Database name of the source data set",
- "type": "string"
- },
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the synchronization setting was created.",
"type": "string",
"readOnly": true
},
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
+ "recurrenceInterval": {
+ "description": "Recurrence Interval",
+ "enum": [
+ "Hour",
+ "Day"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "recurrenceInterval",
+ "modelAsString": true
+ }
},
- "tableName": {
- "description": "SQL DB table name.",
+ "synchronizationTime": {
+ "format": "date-time",
+ "description": "Synchronization time",
"type": "string"
+ },
+ "userName": {
+ "description": "Name of the user who created the synchronization setting.",
+ "type": "string",
+ "readOnly": true
}
}
},
- "BlobDataSetMapping": {
- "description": "A Blob data set mapping.",
+ "ScheduledTrigger": {
+ "description": "A type of trigger based on schedule",
"required": [
"properties",
"kind"
@@ -5409,157 +5438,151 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/Trigger"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobMappingProperties",
- "description": "Blob data set mapping properties.",
+ "$ref": "#/definitions/ScheduledTriggerProperties",
+ "description": "Properties of scheduled synchronization",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "Blob"
+ "x-ms-discriminator-value": "ScheduleBased"
},
- "BlobMappingProperties": {
- "description": "Azure storage Blob data set mapping property bag.",
+ "ScheduledTriggerProperties": {
+ "description": "A Scheduled trigger data transfer object.",
"required": [
- "containerName",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "recurrenceInterval",
+ "synchronizationTime"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the trigger was created.",
+ "type": "string",
+ "readOnly": true
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
+ "provisioningState": {
+ "description": "Gets the provisioning state",
"enum": [
- "Ok",
- "Broken"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "dataSetMappingStatus",
+ "name": "provisioningState",
"modelAsString": true
}
},
- "filePath": {
- "description": "File path within the source data set",
- "type": "string"
- },
- "outputType": {
- "description": "File output type",
+ "recurrenceInterval": {
+ "description": "Recurrence Interval",
"enum": [
- "Csv",
- "Parquet"
+ "Hour",
+ "Day"
],
"type": "string",
"x-ms-enum": {
- "name": "outputType",
+ "name": "recurrenceInterval",
"modelAsString": true
}
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "synchronizationMode": {
+ "description": "Synchronization mode",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Incremental",
+ "FullSync"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "synchronizationMode",
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
+ "synchronizationTime": {
+ "format": "date-time",
+ "description": "Synchronization time",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
+ "triggerStatus": {
+ "description": "Gets the trigger state",
+ "enum": [
+ "Active",
+ "Inactive",
+ "SourceSynchronizationSettingDeleted"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "triggerStatus",
+ "modelAsString": true
+ }
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
+ "userName": {
+ "description": "Name of the user who created the trigger.",
+ "type": "string",
+ "readOnly": true
}
}
},
- "BlobFolderDataSetMapping": {
- "description": "A Blob folder data set mapping.",
- "required": [
- "properties",
- "kind"
- ],
+ "Share": {
+ "description": "A share data transfer object.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobFolderMappingProperties",
- "description": "Blob folder data set mapping properties.",
+ "$ref": "#/definitions/ShareProperties",
+ "description": "Properties on the share",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "BlobFolder"
+ }
},
- "BlobFolderMappingProperties": {
- "description": "Azure storage Blob folder data set mapping property bag.",
+ "ShareList": {
+ "description": "List response for get Shares.",
"required": [
- "containerName",
- "prefix",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Share"
}
+ }
+ }
+ },
+ "ShareProperties": {
+ "description": "Share property bag.",
+ "type": "object",
+ "properties": {
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the share was created.",
+ "type": "string",
+ "readOnly": true
},
- "prefix": {
- "description": "Prefix for blob folder",
+ "description": {
+ "description": "Share description.",
"type": "string"
},
"provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "description": "Gets or sets the provisioning state",
"enum": [
"Succeeded",
"Creating",
@@ -5574,75 +5597,108 @@
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
+ "shareKind": {
+ "description": "Share kind.",
+ "enum": [
+ "CopyBased",
+ "InPlace"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "shareKind",
+ "modelAsString": true
+ }
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
+ "terms": {
+ "description": "Share terms.",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "userName": {
+ "description": "Name of the user who created the resource",
+ "type": "string",
+ "readOnly": true
}
}
},
- "BlobContainerDataSetMapping": {
- "description": "A Blob container data set mapping.",
+ "ShareSubscription": {
+ "description": "A share subscription data transfer object.",
"required": [
- "properties",
- "kind"
+ "properties"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobContainerMappingProperties",
- "description": "Blob container data set mapping properties.",
+ "$ref": "#/definitions/ShareSubscriptionProperties",
+ "description": "Properties on the share subscription",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "Container"
+ }
},
- "BlobContainerMappingProperties": {
- "description": "Azure storage Blob container data set mapping property bag.",
+ "ShareSubscriptionList": {
+ "description": "List response for get ShareSubscription.",
"required": [
- "containerName",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "BLOB Container name.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "dataSetId": {
- "description": "The id of the source data set.",
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareSubscription"
+ }
+ }
+ }
+ },
+ "ShareSubscriptionProperties": {
+ "description": "Share subscription property bag.",
+ "required": [
+ "invitationId"
+ ],
+ "type": "object",
+ "properties": {
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the share subscription was created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invitationId": {
+ "description": "The invitation id.",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
+ "providerEmail": {
+ "description": "Email of the provider who created the resource",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
+ "readOnly": true
+ },
+ "providerName": {
+ "description": "Name of the provider who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerTenantName": {
+ "description": "Tenant name of the provider who created the resource",
+ "type": "string",
+ "readOnly": true
},
"provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "description": "Provisioning state of the share subscription",
"enum": [
"Succeeded",
"Creating",
@@ -5657,210 +5713,279 @@
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
+ "shareDescription": {
+ "description": "Description of share",
+ "type": "string",
+ "readOnly": true
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
+ "shareKind": {
+ "description": "Kind of share",
+ "enum": [
+ "CopyBased",
+ "InPlace"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "shareKind",
+ "modelAsString": true
+ }
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
+ "shareName": {
+ "description": "Name of the share",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareSubscriptionStatus": {
+ "description": "Gets the current status of share subscription.",
+ "enum": [
+ "Active",
+ "Revoked",
+ "SourceDeleted",
+ "Revoking"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "shareSubscriptionStatus",
+ "modelAsString": true
+ }
+ },
+ "shareTerms": {
+ "description": "Terms of a share",
+ "type": "string",
+ "readOnly": true
+ },
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "userName": {
+ "description": "Name of the user who created the resource",
+ "type": "string",
+ "readOnly": true
}
}
},
- "ADLSGen2FileDataSetMapping": {
- "description": "An ADLS Gen2 file data set mapping.",
+ "ShareSubscriptionSynchronization": {
+ "description": "A ShareSubscriptionSynchronization data transfer object.",
"required": [
- "properties",
- "kind"
+ "synchronizationId"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties",
- "description": "ADLS Gen2 file data set mapping properties.",
- "x-ms-client-flatten": true
+ "durationMs": {
+ "format": "int32",
+ "description": "Synchronization duration",
+ "type": "integer",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of synchronization",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "message of Synchronization",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "start time of synchronization",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Raw Status",
+ "type": "string",
+ "readOnly": true
+ },
+ "synchronizationId": {
+ "description": "Synchronization id",
+ "type": "string"
+ },
+ "synchronizationMode": {
+ "description": "Synchronization Mode",
+ "enum": [
+ "Incremental",
+ "FullSync"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "synchronizationMode",
+ "modelAsString": true
+ }
}
- },
- "x-ms-discriminator-value": "AdlsGen2File"
+ }
},
- "ADLSGen2FileDataSetMappingProperties": {
- "description": "ADLS Gen 2 file data set mapping property bag.",
+ "ShareSubscriptionSynchronizationList": {
+ "description": "A consumer side list of share subscription synchronizations",
"required": [
- "fileSystem",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "The id of the source data set.",
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ }
+ }
+ }
+ },
+ "ShareSynchronization": {
+ "description": "A ShareSynchronization data transfer object.",
+ "type": "object",
+ "properties": {
+ "consumerEmail": {
+ "description": "Email of the user who created the synchronization",
+ "type": "string"
+ },
+ "consumerName": {
+ "description": "Name of the user who created the synchronization",
+ "type": "string"
+ },
+ "consumerTenantName": {
+ "description": "Tenant name of the consumer who created the synchronization",
+ "type": "string"
+ },
+ "durationMs": {
+ "format": "int32",
+ "description": "synchronization duration",
+ "type": "integer"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of synchronization",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
+ "message": {
+ "description": "message of synchronization",
+ "type": "string"
},
- "filePath": {
- "description": "File path within the file system.",
+ "startTime": {
+ "format": "date-time",
+ "description": "start time of synchronization",
"type": "string"
},
- "fileSystem": {
- "description": "File system to which the file belongs.",
+ "status": {
+ "description": "Raw Status",
"type": "string"
},
- "outputType": {
- "description": "Type of output file",
- "enum": [
- "Csv",
- "Parquet"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "outputType",
- "modelAsString": true
- }
+ "synchronizationId": {
+ "description": "Synchronization id",
+ "type": "string"
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "synchronizationMode": {
+ "description": "Synchronization mode",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Incremental",
+ "FullSync"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "synchronizationMode",
"modelAsString": true
}
- },
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
- },
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
}
}
},
- "ADLSGen2FolderDataSetMapping": {
- "description": "An ADLS Gen2 folder data set mapping.",
+ "ShareSynchronizationList": {
+ "description": "List response for get ShareSynchronization.",
"required": [
- "properties",
- "kind"
+ "value"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties",
- "description": "ADLS Gen2 folder data set mapping properties.",
- "x-ms-client-flatten": true
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareSynchronization"
+ }
}
- },
- "x-ms-discriminator-value": "AdlsGen2Folder"
+ }
},
- "ADLSGen2FolderDataSetMappingProperties": {
- "description": "ADLS Gen 2 folder data set mapping property bag.",
+ "SourceShareSynchronizationSetting": {
+ "description": "A view of synchronization setting added by the provider",
"required": [
- "fileSystem",
- "folderPath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "kind"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
- },
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
+ "kind": {
+ "description": "Kind of synchronization",
"enum": [
- "Ok",
- "Broken"
+ "ScheduleBased"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "dataSetMappingStatus",
+ "name": "kind",
"modelAsString": true
}
- },
- "fileSystem": {
- "description": "File system to which the folder belongs.",
- "type": "string"
- },
- "folderPath": {
- "description": "Folder path within the file system.",
+ }
+ },
+ "discriminator": "kind"
+ },
+ "SourceShareSynchronizationSettingList": {
+ "description": "List response for get source share Synchronization settings",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SourceShareSynchronizationSetting"
}
- },
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
- },
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
}
}
},
- "ADLSGen2FileSystemDataSetMapping": {
- "description": "An ADLS Gen2 file system data set mapping.",
+ "SqlDBTableDataSet": {
+ "description": "A SQL DB table data set.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDBTableProperties",
+ "description": "SQL DB table data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDBTable"
+ },
+ "SqlDBTableDataSetMapping": {
+ "description": "A SQL DB Table data set mapping.",
"required": [
"properties",
"kind"
@@ -5873,24 +5998,28 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties",
- "description": "ADLS Gen2 file system data set mapping properties.",
+ "$ref": "#/definitions/SqlDBTableDataSetMappingProperties",
+ "description": "Sql DB data set mapping properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "AdlsGen2FileSystem"
+ "x-ms-discriminator-value": "SqlDBTable"
},
- "ADLSGen2FileSystemDataSetMappingProperties": {
- "description": "ADLS Gen 2 file system data set mapping property bag.",
+ "SqlDBTableDataSetMappingProperties": {
+ "description": "Properties of the SQL DB table data set mapping.",
"required": [
- "fileSystem",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
+ "databaseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId",
"dataSetId"
],
"type": "object",
"properties": {
+ "databaseName": {
+ "description": "DatabaseName name of the sink data set",
+ "type": "string"
+ },
"dataSetId": {
"description": "The id of the source data set.",
"type": "string"
@@ -5908,10 +6037,6 @@
"modelAsString": true
}
},
- "fileSystem": {
- "description": "The file system name.",
- "type": "string"
- },
"provisioningState": {
"description": "Provisioning state of the data set mapping.",
"enum": [
@@ -5928,22 +6053,75 @@
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DB table name.",
+ "type": "string"
+ }
+ }
+ },
+ "SqlDBTableProperties": {
+ "description": "Properties of the SQL DB table data set.",
+ "required": [
+ "databaseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId"
+ ],
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "description": "Database name of the source data set",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
+ "tableName": {
+ "description": "SQL DB table name.",
"type": "string"
}
}
},
- "KustoClusterDataSetMapping": {
- "description": "A Kusto cluster data set mapping",
+ "SqlDWTableDataSet": {
+ "description": "A SQL DW table data set.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDWTableProperties",
+ "description": "SQL DW table data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDWTable"
+ },
+ "SqlDWTableDataSetMapping": {
+ "description": "A SQL DW Table data set mapping.",
"required": [
"properties",
"kind"
@@ -5956,17 +6134,20 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/KustoClusterDataSetMappingProperties",
- "description": "Kusto cluster data set mapping properties.",
+ "$ref": "#/definitions/SqlDWTableDataSetMappingProperties",
+ "description": "Sql DW data set mapping properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "KustoCluster"
+ "x-ms-discriminator-value": "SqlDWTable"
},
- "KustoClusterDataSetMappingProperties": {
- "description": "Properties of the Kusto cluster data set mapping",
+ "SqlDWTableDataSetMappingProperties": {
+ "description": "Properties of the SQL DW table data set mapping.",
"required": [
- "kustoClusterResourceId",
+ "dataWarehouseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId",
"dataSetId"
],
"type": "object",
@@ -5988,15 +6169,10 @@
"modelAsString": true
}
},
- "kustoClusterResourceId": {
- "description": "Resource id of the sink kusto cluster.",
+ "dataWarehouseName": {
+ "description": "DataWarehouse name of the source data set",
"type": "string"
},
- "location": {
- "description": "Location of the sink kusto cluster.",
- "type": "string",
- "readOnly": true
- },
"provisioningState": {
"description": "Provisioning state of the data set mapping.",
"enum": [
@@ -6012,345 +6188,295 @@
"name": "provisioningState",
"modelAsString": true
}
+ },
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DW table name.",
+ "type": "string"
}
}
},
- "KustoDatabaseDataSetMapping": {
- "description": "A Kusto database data set mapping",
+ "SqlDWTableProperties": {
+ "description": "Properties of the SQL DW table data set.",
"required": [
- "properties",
- "kind"
+ "dataWarehouseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties",
- "description": "Kusto database data set mapping properties.",
- "x-ms-client-flatten": true
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataWarehouseName": {
+ "description": "DataWarehouse name of the source data set",
+ "type": "string"
+ },
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DW table name.",
+ "type": "string"
}
- },
- "x-ms-discriminator-value": "KustoDatabase"
+ }
},
- "KustoDatabaseDataSetMappingProperties": {
- "description": "Properties of the Kusto database data set mapping",
- "required": [
- "kustoClusterResourceId",
- "dataSetId"
- ],
+ "SynchronizationDetails": {
+ "description": "Synchronization details at data set level",
"type": "object",
"properties": {
"dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
+ "description": "Id of data set",
+ "type": "string",
+ "readOnly": true
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
+ "dataSetType": {
+ "description": "Type of the data set",
"enum": [
- "Ok",
- "Broken"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "AdlsGen1Folder",
+ "AdlsGen1File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "dataSetMappingStatus",
+ "name": "dataSetType",
"modelAsString": true
}
},
- "kustoClusterResourceId": {
- "description": "Resource id of the sink kusto cluster.",
- "type": "string"
+ "durationMs": {
+ "format": "int32",
+ "description": "Duration of data set level copy",
+ "type": "integer",
+ "readOnly": true
},
- "location": {
- "description": "Location of the sink kusto cluster.",
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of data set level copy",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
+ "filesRead": {
+ "format": "int64",
+ "description": "The number of files read from the source data set",
+ "type": "integer",
+ "readOnly": true
+ },
+ "filesWritten": {
+ "format": "int64",
+ "description": "The number of files written into the sink data set",
+ "type": "integer",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message if any",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- }
- }
- },
- "SqlDWTableDataSetMapping": {
- "description": "A SQL DW Table data set mapping.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/SqlDWTableDataSetMappingProperties",
- "description": "Sql DW data set mapping properties.",
- "x-ms-client-flatten": true
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the data set",
+ "type": "string",
+ "readOnly": true
+ },
+ "rowsCopied": {
+ "format": "int64",
+ "description": "The number of files copied into the sink data set",
+ "type": "integer",
+ "readOnly": true
+ },
+ "rowsRead": {
+ "format": "int64",
+ "description": "The number of rows read from the source data set.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "sizeRead": {
+ "format": "int64",
+ "description": "The size of the data read from the source data set in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "sizeWritten": {
+ "format": "int64",
+ "description": "The size of the data written into the sink data set in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of data set level copy",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Raw Status",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCore": {
+ "format": "int64",
+ "description": "The vCore units consumed for the data set synchronization",
+ "type": "integer",
+ "readOnly": true
}
- },
- "x-ms-discriminator-value": "SqlDWTable"
+ }
},
- "SqlDWTableDataSetMappingProperties": {
- "description": "Properties of the SQL DW table data set mapping.",
+ "SynchronizationDetailsList": {
+ "description": "details of synchronization",
"required": [
- "dataWarehouseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
- },
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
- },
- "dataWarehouseName": {
- "description": "DataWarehouse name of the source data set",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SynchronizationDetails"
}
- },
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
- },
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
- },
- "tableName": {
- "description": "SQL DW table name.",
- "type": "string"
}
}
},
- "SqlDBTableDataSetMapping": {
- "description": "A SQL DB Table data set mapping.",
+ "SynchronizationSetting": {
+ "description": "A Synchronization Setting data transfer object.",
"required": [
- "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
- "properties": {
- "$ref": "#/definitions/SqlDBTableDataSetMappingProperties",
- "description": "Sql DB data set mapping properties.",
- "x-ms-client-flatten": true
+ "kind": {
+ "description": "Kind of synchronization",
+ "enum": [
+ "ScheduleBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
}
},
- "x-ms-discriminator-value": "SqlDBTable"
+ "discriminator": "kind"
},
- "SqlDBTableDataSetMappingProperties": {
- "description": "Properties of the SQL DB table data set mapping.",
+ "SynchronizationSettingList": {
+ "description": "List response for get Synchronization settings",
"required": [
- "databaseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "databaseName": {
- "description": "DatabaseName name of the sink data set",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SynchronizationSetting"
}
- },
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ }
+ }
+ },
+ "Synchronize": {
+ "description": "Payload for the synchronizing the data.",
+ "type": "object",
+ "properties": {
+ "synchronizationMode": {
+ "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Incremental",
+ "FullSync"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "synchronizationMode",
"modelAsString": true
}
- },
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
- },
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
- },
- "tableName": {
- "description": "SQL DB table name.",
- "type": "string"
}
}
},
- "ScheduledSourceSynchronizationSetting": {
- "description": "A type of synchronization setting based on schedule",
+ "Trigger": {
+ "description": "A Trigger data transfer object.",
"required": [
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/SourceShareSynchronizationSetting"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
- "properties": {
- "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties",
- "description": "Properties of scheduled synchronization",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "ScheduleBased"
- },
- "ScheduledSourceShareSynchronizationSettingProperties": {
- "description": "A Scheduled source synchronization setting data transfer object.",
- "type": "object",
- "properties": {
- "recurrenceInterval": {
- "description": "Recurrence Interval",
+ "kind": {
+ "description": "Kind of synchronization",
"enum": [
- "Hour",
- "Day"
+ "ScheduleBased"
],
"type": "string",
"x-ms-enum": {
- "name": "recurrenceInterval",
+ "name": "kind",
"modelAsString": true
}
- },
- "synchronizationTime": {
- "format": "date-time",
- "description": "Synchronization time",
- "type": "string"
}
- }
+ },
+ "discriminator": "kind"
},
- "DefaultDto": {
- "description": "Base data transfer object implementation for default resources.",
+ "TriggerList": {
+ "description": "List response for get triggers",
+ "required": [
+ "value"
+ ],
"type": "object",
"properties": {
- "id": {
- "description": "The resource id of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "location": {
- "description": "Location of the azure resource.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "name": {
- "description": "Name of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "tags": {
- "description": "Tags on the azure resource.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Trigger"
}
- },
- "type": {
- "description": "Type of the azure resource",
- "type": "string",
- "readOnly": true
- }
- },
- "x-ms-azure-resource": true
- },
- "ProxyDto": {
- "description": "Base data transfer object implementation for proxy resources.",
- "type": "object",
- "properties": {
- "id": {
- "description": "The resource id of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "Type of the azure resource",
- "type": "string",
- "readOnly": true
}
- },
- "x-ms-azure-resource": true
+ }
}
},
"parameters": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_ListByShareSubscription.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_ListByShareSubscription.json
index 4fbda6edc6b8..b2a77abe9a78 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_ListByShareSubscription.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSetMappings_ListByShareSubscription.json
@@ -4,7 +4,9 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareSubscriptionName": "ShareSubscription1",
- "api-version": "2018-11-01-preview"
+ "api-version": "2018-11-01-preview",
+ "filter": "name eq 'DatasetMapping1'",
+ "orderBy": "name"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_ListByShare.json
index 377709df3724..ed1395bb7e3f 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_ListByShare.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/DataSets_ListByShare.json
@@ -4,7 +4,9 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareName": "Share1",
- "api-version": "2018-11-01-preview"
+ "api-version": "2018-11-01-preview",
+ "filter": "name eq 'Dataset1'",
+ "orderBy": "name"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Invitations_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Invitations_ListByShare.json
index ddcc24d8ef51..3ce0678f1b03 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Invitations_ListByShare.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Invitations_ListByShare.json
@@ -4,7 +4,9 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareName": "Share1",
- "api-version": "2018-11-01-preview"
+ "api-version": "2018-11-01-preview",
+ "filter": "properties/targetEmail eq 'johnsmith@microsoft.com'",
+ "orderBy": "properties/sentAt"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListByAccount.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListByAccount.json
index dc9c84579419..dcbd9ee25a36 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListByAccount.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListByAccount.json
@@ -3,7 +3,9 @@
"subscriptionId": "12345678-1234-1234-12345678abc",
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
- "api-version": "2018-11-01-preview"
+ "api-version": "2018-11-01-preview",
+ "filter": "name eq 'ShareSubscription1'",
+ "orderBy": "properties/createdAt"
},
"responses": {
"200": {
@@ -39,7 +41,7 @@
"properties": {
"userName": "John Smith",
"userEmail": "john.smith@microsoft.com",
- "createdAt": "2019-01-17T22:32:36.8185016Z",
+ "createdAt": "2020-12-17T22:32:36.8185016Z",
"shareSubscriptionStatus": "Active",
"invitationId": "4256e2cf-0f82-4865-961b-12f83333f487",
"shareName": "share1",
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizationDetails.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizationDetails.json
index 78858bc649c3..0a0e50bce98d 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizationDetails.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizationDetails.json
@@ -7,7 +7,9 @@
"shareSubscriptionSynchronization": {
"synchronizationId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"
},
- "api-version": "2018-11-01-preview"
+ "api-version": "2018-11-01-preview",
+ "filter": "name eq 'datasetmapping1'",
+ "orderBy": "durationMs"
},
"responses": {
"200": {
@@ -25,7 +27,7 @@
"startTime": "2018-11-14T04:47:52.9614956Z",
"durationMs": 2000,
"status": "Completed",
- "name": "dataset1",
+ "name": "datasetmapping1",
"dataSetId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb",
"dataSetType": "Blob"
}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizations.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizations.json
index 4977df1c9813..dde0a4b39c1e 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizations.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/ShareSubscriptions_ListSynchronizations.json
@@ -4,7 +4,8 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareSubscriptionName": "ShareSub1",
- "api-version": "2018-11-01-preview"
+ "api-version": "2018-11-01-preview",
+ "orderBy": "durationMs"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListByAccount.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListByAccount.json
index 69eb8b0341ee..d5db9970ab1c 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListByAccount.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListByAccount.json
@@ -3,7 +3,9 @@
"subscriptionId": "12345678-1234-1234-12345678abc",
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
- "api-version": "2018-11-01-preview"
+ "api-version": "2018-11-01-preview",
+ "filter": "name eq 'Share1'",
+ "orderBy": "properties/createdAt"
},
"responses": {
"200": {
@@ -35,7 +37,7 @@
"terms": "Confidential",
"shareKind": "CopyBased",
"userName": "John Smith",
- "createdAt": "2018-11-14T06:15:15.6818898Z",
+ "createdAt": "2019-10-14T06:15:15.6818898Z",
"userEmail": "johnsmith@microsoft.com"
},
"id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1",
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizationDetails.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizationDetails.json
index fc8da2ed1635..7c5601a1a429 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizationDetails.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizationDetails.json
@@ -7,7 +7,9 @@
"shareSynchronization": {
"synchronizationId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"
},
- "api-version": "2018-11-01-preview"
+ "api-version": "2018-11-01-preview",
+ "filter": "name eq 'dataset1'",
+ "orderBy": "durationMs"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizations.json b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizations.json
index 2f7f0c095005..692ae24a2a43 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizations.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/preview/2018-11-01-preview/examples/Shares_ListSynchronizations.json
@@ -4,7 +4,8 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareName": "Share1",
- "api-version": "2018-11-01-preview"
+ "api-version": "2018-11-01-preview",
+ "filter": "consumerTenantName eq 'nda'"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json
index 07c0de6b472b..52cb2b83c073 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/DataShare.json
@@ -16,6 +16,53 @@
"application/json"
],
"paths": {
+ "/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts": {
+ "get": {
+ "tags": [
+ "Account"
+ ],
+ "summary": "List Accounts in a subscription",
+ "description": "List Accounts in Subscription",
+ "operationId": "Accounts_ListBySubscription",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "Continuation token",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/AccountList"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Microsoft.DataShare resource provider.",
+ "schema": {
+ "$ref": "#/definitions/DataShareError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Accounts_ListBySubscription": {
+ "$ref": "./examples/Accounts_ListBySubscription.json"
+ }
+ }
+ }
+ },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}": {
"get": {
"tags": [
@@ -214,53 +261,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/providers/Microsoft.DataShare/accounts": {
- "get": {
- "tags": [
- "Account"
- ],
- "summary": "List Accounts in a subscription",
- "description": "List Accounts in Subscription",
- "operationId": "Accounts_ListBySubscription",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/api-version"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "Continuation token",
- "required": false,
- "type": "string"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/AccountList"
- }
- },
- "default": {
- "description": "An error response received from the Microsoft.DataShare resource provider.",
- "schema": {
- "$ref": "#/definitions/DataShareError"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "Accounts_ListBySubscription": {
- "$ref": "./examples/Accounts_ListBySubscription.json"
- }
- }
- }
- },
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts": {
"get": {
"tags": [
@@ -311,40 +311,31 @@
}
}
},
- "/providers/Microsoft.DataShare/locations/{location}/RejectInvitation": {
- "post": {
+ "/providers/Microsoft.DataShare/ListInvitations": {
+ "get": {
"tags": [
"ConsumerInvitation"
],
- "summary": "Rejects the invitation identified by invitationId",
- "description": "Reject an invitation",
- "operationId": "ConsumerInvitations_RejectInvitation",
+ "summary": "List the invitations",
+ "description": "Lists invitations",
+ "operationId": "ConsumerInvitations_ListInvitations",
"parameters": [
{
- "name": "location",
- "in": "path",
- "description": "Location of the invitation",
- "required": true,
- "type": "string"
- },
- {
- "name": "invitation",
- "in": "body",
- "description": "An invitation payload",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ConsumerInvitation"
- }
+ "$ref": "#/parameters/api-version"
},
{
- "$ref": "#/parameters/api-version"
+ "name": "$skipToken",
+ "in": "query",
+ "description": "The continuation token",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ConsumerInvitation"
+ "$ref": "#/definitions/ConsumerInvitationList"
}
},
"default": {
@@ -354,9 +345,12 @@
}
}
},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
- "ConsumerInvitations_RejectInvitation": {
- "$ref": "./examples/ConsumerInvitations_RejectInvitation.json"
+ "ConsumerInvitations_ListInvitations": {
+ "$ref": "./examples/ConsumerInvitations_ListInvitations.json"
}
}
}
@@ -409,31 +403,40 @@
}
}
},
- "/providers/Microsoft.DataShare/ListInvitations": {
- "get": {
+ "/providers/Microsoft.DataShare/locations/{location}/RejectInvitation": {
+ "post": {
"tags": [
"ConsumerInvitation"
],
- "summary": "List the invitations",
- "description": "Lists invitations",
- "operationId": "ConsumerInvitations_ListInvitations",
+ "summary": "Rejects the invitation identified by invitationId",
+ "description": "Reject an invitation",
+ "operationId": "ConsumerInvitations_RejectInvitation",
"parameters": [
{
- "$ref": "#/parameters/api-version"
+ "name": "location",
+ "in": "path",
+ "description": "Location of the invitation",
+ "required": true,
+ "type": "string"
},
{
- "name": "$skipToken",
- "in": "query",
- "description": "The continuation token",
- "required": false,
- "type": "string"
+ "name": "invitation",
+ "in": "body",
+ "description": "An invitation payload",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ConsumerInvitation"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ConsumerInvitationList"
+ "$ref": "#/definitions/ConsumerInvitation"
}
},
"default": {
@@ -443,12 +446,9 @@
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
"x-ms-examples": {
- "ConsumerInvitations_ListInvitations": {
- "$ref": "./examples/ConsumerInvitations_ListInvitations.json"
+ "ConsumerInvitations_RejectInvitation": {
+ "$ref": "./examples/ConsumerInvitations_RejectInvitation.json"
}
}
}
@@ -685,6 +685,20 @@
"description": "continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
@@ -936,6 +950,20 @@
"description": "Continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
@@ -1178,6 +1206,20 @@
"description": "The continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
@@ -1241,14 +1283,14 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}": {
- "get": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails": {
+ "post": {
"tags": [
"Share"
],
- "summary": "Get a specified share",
- "description": "Get a share ",
- "operationId": "Shares_Get",
+ "summary": "List data set level details for a share synchronization",
+ "description": "List synchronization details",
+ "operationId": "Shares_ListSynchronizationDetails",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1262,19 +1304,49 @@
{
"name": "shareName",
"in": "path",
- "description": "The name of the share to retrieve.",
+ "description": "The name of the share.",
"required": true,
"type": "string"
},
+ {
+ "name": "shareSynchronization",
+ "in": "body",
+ "description": "Share Synchronization payload.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShareSynchronization"
+ }
+ },
{
"$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "Continuation token",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/Share"
+ "$ref": "#/definitions/SynchronizationDetailsList"
}
},
"default": {
@@ -1284,82 +1356,24 @@
}
}
},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
- "Shares_Get": {
- "$ref": "./examples/Shares_Get.json"
+ "Shares_ListSynchronizationDetails": {
+ "$ref": "./examples/Shares_ListSynchronizationDetails.json"
}
}
- },
- "put": {
- "tags": [
- "Share"
- ],
- "summary": "Create a share in the given account.",
- "description": "Create a share ",
- "operationId": "Shares_Create",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "$ref": "#/parameters/accountName"
- },
- {
- "name": "shareName",
- "in": "path",
- "description": "The name of the share.",
- "required": true,
- "type": "string"
- },
- {
- "name": "share",
- "in": "body",
- "description": "The share payload",
- "required": true,
- "schema": {
- "$ref": "#/definitions/Share"
- }
- },
- {
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Share"
- }
- },
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/Share"
- }
- },
- "default": {
- "description": "An error response received from the Microsoft.DataShare resource provider.",
- "schema": {
- "$ref": "#/definitions/DataShareError"
- }
- }
- },
- "x-ms-examples": {
- "Shares_Create": {
- "$ref": "./examples/Shares_Create.json"
- }
- }
- },
- "delete": {
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations": {
+ "post": {
"tags": [
"Share"
],
- "summary": "Deletes a share",
- "description": "Delete a share ",
- "operationId": "Shares_Delete",
+ "summary": "List Synchronizations in a share",
+ "description": "List synchronizations of a share",
+ "operationId": "Shares_ListSynchronizations",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1379,61 +1393,25 @@
},
{
"$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/OperationResponse"
- }
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "An error response received from the Microsoft.DataShare resource provider.",
- "schema": {
- "$ref": "#/definitions/DataShareError"
- }
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "Shares_Delete": {
- "$ref": "./examples/Shares_Delete.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares": {
- "get": {
- "tags": [
- "Share"
- ],
- "summary": "List of available shares under an account.",
- "description": "List shares in an account",
- "operationId": "Shares_ListByAccount",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
},
{
- "$ref": "#/parameters/accountName"
+ "name": "$skipToken",
+ "in": "query",
+ "description": "Continuation token",
+ "required": false,
+ "type": "string"
},
{
- "$ref": "#/parameters/api-version"
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
},
{
- "name": "$skipToken",
+ "name": "$orderby",
"in": "query",
- "description": "Continuation Token",
+ "description": "Sorts the results using OData syntax.",
"required": false,
"type": "string"
}
@@ -1442,7 +1420,7 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareList"
+ "$ref": "#/definitions/ShareSynchronizationList"
}
},
"default": {
@@ -1456,20 +1434,20 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "Shares_ListByAccount": {
- "$ref": "./examples/Shares_ListByAccount.json"
+ "Shares_ListSynchronizations": {
+ "$ref": "./examples/Shares_ListSynchronizations.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizations": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate": {
"post": {
"tags": [
"Share"
],
- "summary": "List Synchronizations in a share",
- "description": "List synchronizations of a share",
- "operationId": "Shares_ListSynchronizations",
+ "summary": "Reinstate share subscription in a provider share.",
+ "description": "Reinstate share subscription in a provider share",
+ "operationId": "ProviderShareSubscriptions_Reinstate",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1488,21 +1466,21 @@
"type": "string"
},
{
- "$ref": "#/parameters/api-version"
+ "name": "providerShareSubscriptionId",
+ "in": "path",
+ "description": "To locate shareSubscription",
+ "required": true,
+ "type": "string"
},
{
- "name": "$skipToken",
- "in": "query",
- "description": "Continuation token",
- "required": false,
- "type": "string"
+ "$ref": "#/parameters/api-version"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSynchronizationList"
+ "$ref": "#/definitions/ProviderShareSubscription"
}
},
"default": {
@@ -1512,24 +1490,21 @@
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
"x-ms-examples": {
- "Shares_ListSynchronizations": {
- "$ref": "./examples/Shares_ListSynchronizations.json"
+ "ProviderShareSubscriptions_Reinstate": {
+ "$ref": "./examples/ProviderShareSubscriptions_Reinstate.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/listSynchronizationDetails": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke": {
"post": {
"tags": [
"Share"
],
- "summary": "List data set level details for a share synchronization",
- "description": "List synchronization details",
- "operationId": "Shares_ListSynchronizationDetails",
+ "summary": "Revoke share subscription in a provider share.",
+ "description": "Revoke share subscription in a provider share",
+ "operationId": "ProviderShareSubscriptions_Revoke",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1548,30 +1523,27 @@
"type": "string"
},
{
- "name": "shareSynchronization",
- "in": "body",
- "description": "Share Synchronization payload.",
+ "name": "providerShareSubscriptionId",
+ "in": "path",
+ "description": "To locate shareSubscription",
"required": true,
- "schema": {
- "$ref": "#/definitions/ShareSynchronization"
- }
+ "type": "string"
},
{
"$ref": "#/parameters/api-version"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "Continuation token",
- "required": false,
- "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/SynchronizationDetailsList"
+ "$ref": "#/definitions/ProviderShareSubscription"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ProviderShareSubscription"
}
},
"default": {
@@ -1581,12 +1553,13 @@
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
},
"x-ms-examples": {
- "Shares_ListSynchronizationDetails": {
- "$ref": "./examples/Shares_ListSynchronizationDetails.json"
+ "ProviderShareSubscriptions_Revoke": {
+ "$ref": "./examples/ProviderShareSubscriptions_Revoke.json"
}
}
}
@@ -1708,14 +1681,14 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/revoke": {
- "post": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}": {
+ "get": {
"tags": [
"Share"
],
- "summary": "Revoke share subscription in a provider share.",
- "description": "Revoke share subscription in a provider share",
- "operationId": "ProviderShareSubscriptions_Revoke",
+ "summary": "Get a specified share",
+ "description": "Get a share ",
+ "operationId": "Shares_Get",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1729,14 +1702,7 @@
{
"name": "shareName",
"in": "path",
- "description": "The name of the share.",
- "required": true,
- "type": "string"
- },
- {
- "name": "providerShareSubscriptionId",
- "in": "path",
- "description": "To locate shareSubscription",
+ "description": "The name of the share to retrieve.",
"required": true,
"type": "string"
},
@@ -1748,13 +1714,7 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ProviderShareSubscription"
- }
- },
- "202": {
- "description": "Accepted",
- "schema": {
- "$ref": "#/definitions/ProviderShareSubscription"
+ "$ref": "#/definitions/Share"
}
},
"default": {
@@ -1764,25 +1724,19 @@
}
}
},
- "x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "azure-async-operation"
- },
"x-ms-examples": {
- "ProviderShareSubscriptions_Revoke": {
- "$ref": "./examples/ProviderShareSubscriptions_Revoke.json"
+ "Shares_Get": {
+ "$ref": "./examples/Shares_Get.json"
}
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares/{shareName}/providerShareSubscriptions/{providerShareSubscriptionId}/reinstate": {
- "post": {
+ },
+ "put": {
"tags": [
"Share"
],
- "summary": "Reinstate share subscription in a provider share.",
- "description": "Reinstate share subscription in a provider share",
- "operationId": "ProviderShareSubscriptions_Reinstate",
+ "summary": "Create a share in the given account.",
+ "description": "Create a share ",
+ "operationId": "Shares_Create",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1801,21 +1755,29 @@
"type": "string"
},
{
- "name": "providerShareSubscriptionId",
- "in": "path",
- "description": "To locate shareSubscription",
+ "name": "share",
+ "in": "body",
+ "description": "The share payload",
"required": true,
- "type": "string"
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
},
{
"$ref": "#/parameters/api-version"
}
],
"responses": {
+ "201": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/Share"
+ }
+ },
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ProviderShareSubscription"
+ "$ref": "#/definitions/Share"
}
},
"default": {
@@ -1826,20 +1788,18 @@
}
},
"x-ms-examples": {
- "ProviderShareSubscriptions_Reinstate": {
- "$ref": "./examples/ProviderShareSubscriptions_Reinstate.json"
+ "Shares_Create": {
+ "$ref": "./examples/Shares_Create.json"
}
}
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}": {
- "get": {
+ },
+ "delete": {
"tags": [
- "ShareSubscription"
+ "Share"
],
- "summary": "Get shareSubscription in an account.",
- "description": "Get a shareSubscription in an account",
- "operationId": "ShareSubscriptions_Get",
+ "summary": "Deletes a share",
+ "description": "Delete a share ",
+ "operationId": "Shares_Delete",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1851,9 +1811,9 @@
"$ref": "#/parameters/accountName"
},
{
- "name": "shareSubscriptionName",
+ "name": "shareName",
"in": "path",
- "description": "The name of the shareSubscription.",
+ "description": "The name of the share.",
"required": true,
"type": "string"
},
@@ -1865,9 +1825,15 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscription"
+ "$ref": "#/definitions/OperationResponse"
}
},
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "Success"
+ },
"default": {
"description": "An error response received from the Microsoft.DataShare resource provider.",
"schema": {
@@ -1875,19 +1841,22 @@
}
}
},
+ "x-ms-long-running-operation": true,
"x-ms-examples": {
- "ShareSubscriptions_Get": {
- "$ref": "./examples/ShareSubscriptions_Get.json"
+ "Shares_Delete": {
+ "$ref": "./examples/Shares_Delete.json"
}
}
- },
- "put": {
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shares": {
+ "get": {
"tags": [
- "ShareSubscription"
+ "Share"
],
- "summary": "Create shareSubscription in an account.",
- "description": "Create a shareSubscription in an account",
- "operationId": "ShareSubscriptions_Create",
+ "summary": "List of available shares under an account.",
+ "description": "List shares in an account",
+ "operationId": "Shares_ListByAccount",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1899,36 +1868,35 @@
"$ref": "#/parameters/accountName"
},
{
- "name": "shareSubscriptionName",
- "in": "path",
- "description": "The name of the shareSubscription.",
- "required": true,
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "Continuation Token",
+ "required": false,
"type": "string"
},
{
- "name": "shareSubscription",
- "in": "body",
- "description": "create parameters for shareSubscription",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ShareSubscription"
- }
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
},
{
- "$ref": "#/parameters/api-version"
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscription"
- }
- },
- "201": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/ShareSubscription"
+ "$ref": "#/definitions/ShareList"
}
},
"default": {
@@ -1938,19 +1906,24 @@
}
}
},
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
"x-ms-examples": {
- "ShareSubscriptions_Create": {
- "$ref": "./examples/ShareSubscriptions_Create.json"
+ "Shares_ListByAccount": {
+ "$ref": "./examples/Shares_ListByAccount.json"
}
}
- },
- "delete": {
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization": {
+ "post": {
"tags": [
"ShareSubscription"
],
- "summary": "Delete shareSubscription in an account.",
- "description": "Delete a shareSubscription in an account",
- "operationId": "ShareSubscriptions_Delete",
+ "summary": "Request cancellation of a data share snapshot",
+ "description": "Request to cancel a synchronization.",
+ "operationId": "ShareSubscriptions_CancelSynchronization",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -1969,71 +1942,29 @@
"type": "string"
},
{
- "$ref": "#/parameters/api-version"
- }
- ],
- "responses": {
- "200": {
- "description": "Success",
- "schema": {
- "$ref": "#/definitions/OperationResponse"
- }
- },
- "202": {
- "description": "Accepted"
- },
- "204": {
- "description": "Success"
- },
- "default": {
- "description": "An error response received from the Microsoft.DataShare resource provider.",
+ "name": "shareSubscriptionSynchronization",
+ "in": "body",
+ "description": "Share Subscription Synchronization payload.",
+ "required": true,
"schema": {
- "$ref": "#/definitions/DataShareError"
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
}
- }
- },
- "x-ms-long-running-operation": true,
- "x-ms-examples": {
- "ShareSubscriptions_Delete": {
- "$ref": "./examples/ShareSubscriptions_Delete.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions": {
- "get": {
- "tags": [
- "ShareSubscription"
- ],
- "summary": "List of available share subscriptions under an account.",
- "description": "List share subscriptions in an account",
- "operationId": "ShareSubscriptions_ListByAccount",
- "parameters": [
- {
- "$ref": "#/parameters/subscriptionId"
- },
- {
- "$ref": "#/parameters/resourceGroupName"
- },
- {
- "$ref": "#/parameters/accountName"
},
{
"$ref": "#/parameters/api-version"
- },
- {
- "name": "$skipToken",
- "in": "query",
- "description": "Continuation Token",
- "required": false,
- "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscriptionList"
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ }
+ },
+ "202": {
+ "description": "Accepted",
+ "schema": {
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
}
},
"default": {
@@ -2043,12 +1974,13 @@
}
}
},
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
+ "x-ms-long-running-operation": true,
+ "x-ms-long-running-operation-options": {
+ "final-state-via": "azure-async-operation"
},
"x-ms-examples": {
- "ShareSubscriptions_ListByAccount": {
- "$ref": "./examples/ShareSubscriptions_ListByAccount.json"
+ "ShareSubscriptions_CancelSynchronization": {
+ "$ref": "./examples/ShareSubscriptions_CancelSynchronization.json"
}
}
}
@@ -2173,14 +2105,14 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails": {
"post": {
"tags": [
"ShareSubscription"
],
- "summary": "List Synchronizations in a share subscription.",
- "description": "List synchronizations of a share subscription",
- "operationId": "ShareSubscriptions_ListSynchronizations",
+ "summary": "List data set level details for a share subscription synchronization",
+ "description": "List synchronization details",
+ "operationId": "ShareSubscriptions_ListSynchronizationDetails",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -2198,6 +2130,15 @@
"required": true,
"type": "string"
},
+ {
+ "name": "shareSubscriptionSynchronization",
+ "in": "body",
+ "description": "Share Subscription Synchronization payload.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ }
+ },
{
"$ref": "#/parameters/api-version"
},
@@ -2207,13 +2148,27 @@
"description": "Continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronizationList"
+ "$ref": "#/definitions/SynchronizationDetailsList"
}
},
"default": {
@@ -2227,20 +2182,20 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "ShareSubscriptions_ListSynchronizations": {
- "$ref": "./examples/ShareSubscriptions_ListSynchronizations.json"
+ "ShareSubscriptions_ListSynchronizationDetails": {
+ "$ref": "./examples/ShareSubscriptions_ListSynchronizationDetails.json"
}
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizationDetails": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/listSynchronizations": {
"post": {
"tags": [
"ShareSubscription"
],
- "summary": "List data set level details for a share subscription synchronization",
- "description": "List synchronization details",
- "operationId": "ShareSubscriptions_ListSynchronizationDetails",
+ "summary": "List Synchronizations in a share subscription.",
+ "description": "List synchronizations of a share subscription",
+ "operationId": "ShareSubscriptions_ListSynchronizations",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -2258,15 +2213,6 @@
"required": true,
"type": "string"
},
- {
- "name": "shareSubscriptionSynchronization",
- "in": "body",
- "description": "Share Subscription Synchronization payload.",
- "required": true,
- "schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
- }
- },
{
"$ref": "#/parameters/api-version"
},
@@ -2276,13 +2222,27 @@
"description": "Continuation token",
"required": false,
"type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
}
],
"responses": {
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/SynchronizationDetailsList"
+ "$ref": "#/definitions/ShareSubscriptionSynchronizationList"
}
},
"default": {
@@ -2296,8 +2256,8 @@
"nextLinkName": "nextLink"
},
"x-ms-examples": {
- "ShareSubscriptions_ListSynchronizationDetails": {
- "$ref": "./examples/ShareSubscriptions_ListSynchronizationDetails.json"
+ "ShareSubscriptions_ListSynchronizations": {
+ "$ref": "./examples/ShareSubscriptions_ListSynchronizations.json"
}
}
}
@@ -2371,14 +2331,14 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}/cancelSynchronization": {
- "post": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions/{shareSubscriptionName}": {
+ "get": {
"tags": [
"ShareSubscription"
],
- "summary": "Request cancellation of a data share snapshot",
- "description": "Request to cancel a synchronization.",
- "operationId": "ShareSubscriptions_CancelSynchronization",
+ "summary": "Get shareSubscription in an account.",
+ "description": "Get a shareSubscription in an account",
+ "operationId": "ShareSubscriptions_Get",
"parameters": [
{
"$ref": "#/parameters/subscriptionId"
@@ -2397,12 +2357,60 @@
"type": "string"
},
{
- "name": "shareSubscriptionSynchronization",
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ShareSubscription"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Microsoft.DataShare resource provider.",
+ "schema": {
+ "$ref": "#/definitions/DataShareError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ShareSubscriptions_Get": {
+ "$ref": "./examples/ShareSubscriptions_Get.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "ShareSubscription"
+ ],
+ "summary": "Create shareSubscription in an account.",
+ "description": "Create a shareSubscription in an account",
+ "operationId": "ShareSubscriptions_Create",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/accountName"
+ },
+ {
+ "name": "shareSubscriptionName",
+ "in": "path",
+ "description": "The name of the shareSubscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "shareSubscription",
"in": "body",
- "description": "Share Subscription Synchronization payload.",
+ "description": "create parameters for shareSubscription",
"required": true,
"schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ "$ref": "#/definitions/ShareSubscription"
}
},
{
@@ -2413,15 +2421,69 @@
"200": {
"description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ "$ref": "#/definitions/ShareSubscription"
}
},
- "202": {
- "description": "Accepted",
+ "201": {
+ "description": "Success",
"schema": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ "$ref": "#/definitions/ShareSubscription"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Microsoft.DataShare resource provider.",
+ "schema": {
+ "$ref": "#/definitions/DataShareError"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "ShareSubscriptions_Create": {
+ "$ref": "./examples/ShareSubscriptions_Create.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "ShareSubscription"
+ ],
+ "summary": "Delete shareSubscription in an account.",
+ "description": "Delete a shareSubscription in an account",
+ "operationId": "ShareSubscriptions_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/accountName"
+ },
+ {
+ "name": "shareSubscriptionName",
+ "in": "path",
+ "description": "The name of the shareSubscription.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/OperationResponse"
}
},
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "Success"
+ },
"default": {
"description": "An error response received from the Microsoft.DataShare resource provider.",
"schema": {
@@ -2430,12 +2492,76 @@
}
},
"x-ms-long-running-operation": true,
- "x-ms-long-running-operation-options": {
- "final-state-via": "azure-async-operation"
+ "x-ms-examples": {
+ "ShareSubscriptions_Delete": {
+ "$ref": "./examples/ShareSubscriptions_Delete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DataShare/accounts/{accountName}/shareSubscriptions": {
+ "get": {
+ "tags": [
+ "ShareSubscription"
+ ],
+ "summary": "List of available share subscriptions under an account.",
+ "description": "List share subscriptions in an account",
+ "operationId": "ShareSubscriptions_ListByAccount",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/accountName"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "name": "$skipToken",
+ "in": "query",
+ "description": "Continuation Token",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$filter",
+ "in": "query",
+ "description": "Filters the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "$orderby",
+ "in": "query",
+ "description": "Sorts the results using OData syntax.",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Success",
+ "schema": {
+ "$ref": "#/definitions/ShareSubscriptionList"
+ }
+ },
+ "default": {
+ "description": "An error response received from the Microsoft.DataShare resource provider.",
+ "schema": {
+ "$ref": "#/definitions/DataShareError"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
},
"x-ms-examples": {
- "ShareSubscriptions_CancelSynchronization": {
- "$ref": "./examples/ShareSubscriptions_CancelSynchronization.json"
+ "ShareSubscriptions_ListByAccount": {
+ "$ref": "./examples/ShareSubscriptions_ListByAccount.json"
}
}
}
@@ -2964,29 +3090,23 @@
}
}
},
- "Identity": {
- "description": "Identity of resource",
+ "AccountList": {
+ "description": "List response for get Accounts.",
+ "required": [
+ "value"
+ ],
"type": "object",
"properties": {
- "principalId": {
- "description": "service principal Id",
- "type": "string",
- "readOnly": true
- },
- "tenantId": {
- "description": "Tenant Id",
- "type": "string",
- "readOnly": true
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
},
- "type": {
- "description": "Identity Type",
- "enum": [
- "SystemAssigned"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "type",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Account"
}
}
}
@@ -3029,1062 +3149,1020 @@
}
}
},
- "DataShareError": {
- "description": "The data share error model.",
- "required": [
- "error"
- ],
+ "AccountUpdateParameters": {
+ "description": "Update parameters for accounts",
"type": "object",
"properties": {
- "error": {
- "$ref": "#/definitions/DataShareErrorInfo",
- "description": "The data share error body"
+ "tags": {
+ "description": "Tags on the azure resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
}
}
},
- "DataShareErrorInfo": {
- "description": "The data share error body model.",
+ "ADLSGen1FileDataSet": {
+ "description": "An ADLS Gen 1 file data set.",
"required": [
- "code",
- "message"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "code": {
- "description": "Code of the error",
+ "properties": {
+ "$ref": "#/definitions/ADLSGen1FileProperties",
+ "description": "ADLS Gen 1 file data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "AdlsGen1File"
+ },
+ "ADLSGen1FileProperties": {
+ "description": "Properties of the ADLS Gen1 file data set.",
+ "required": [
+ "subscriptionId",
+ "resourceGroup",
+ "accountName",
+ "folderPath",
+ "fileName"
+ ],
+ "type": "object",
+ "properties": {
+ "accountName": {
+ "description": "The ADLS account name.",
"type": "string"
},
- "details": {
- "description": "Nested details of the error model",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataShareErrorInfo"
- }
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
},
- "message": {
- "description": "Message of the error",
+ "fileName": {
+ "description": "The file name in the ADLS account.",
"type": "string"
},
- "target": {
- "description": "Target of the error",
+ "folderPath": {
+ "description": "The folder path within the ADLS account.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group of ADLS account.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of ADLS account.",
"type": "string"
}
}
},
- "AccountUpdateParameters": {
- "description": "Update parameters for accounts",
+ "ADLSGen1FolderDataSet": {
+ "description": "An ADLS Gen 1 folder data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "tags": {
- "description": "Tags on the azure resource.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen1FolderProperties",
+ "description": "ADLS Gen 1 folder data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen1Folder"
},
- "OperationResponse": {
- "description": "Response for long running operation",
+ "ADLSGen1FolderProperties": {
+ "description": "Properties of the ADLS Gen1 folder data set.",
"required": [
- "status"
+ "subscriptionId",
+ "resourceGroup",
+ "accountName",
+ "folderPath"
],
"type": "object",
"properties": {
- "endTime": {
- "format": "date-time",
- "description": "start time",
+ "accountName": {
+ "description": "The ADLS account name.",
"type": "string"
},
- "error": {
- "$ref": "#/definitions/DataShareErrorInfo",
- "description": "The error property when status is failed."
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
},
- "startTime": {
- "format": "date-time",
- "description": "start time",
+ "folderPath": {
+ "description": "The folder path within the ADLS account.",
"type": "string"
},
- "status": {
- "description": "Operation state of the long running operation.",
- "enum": [
- "Accepted",
- "InProgress",
- "TransientFailure",
- "Succeeded",
- "Failed",
- "Canceled"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "status",
- "modelAsString": true
- }
+ "resourceGroup": {
+ "description": "Resource group of ADLS account.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of ADLS account.",
+ "type": "string"
}
}
},
- "AccountList": {
- "description": "List response for get Accounts.",
+ "ADLSGen2FileDataSet": {
+ "description": "An ADLS Gen 2 file data set.",
"required": [
- "value"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Account"
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FileProperties",
+ "description": "ADLS Gen 2 file data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2File"
},
- "ConsumerInvitation": {
- "description": "A consumer Invitation data transfer object.",
+ "ADLSGen2FileDataSetMapping": {
+ "description": "An ADLS Gen2 file data set mapping.",
"required": [
- "properties"
+ "properties",
+ "kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSetMapping"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ConsumerInvitationProperties",
- "description": "Properties on the account",
+ "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties",
+ "description": "ADLS Gen2 file data set mapping properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2File"
},
- "ConsumerInvitationProperties": {
- "description": "Properties of consumer invitation",
+ "ADLSGen2FileDataSetMappingProperties": {
+ "description": "ADLS Gen 2 file data set mapping property bag.",
"required": [
- "invitationId"
+ "fileSystem",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
],
"type": "object",
"properties": {
- "dataSetCount": {
- "format": "int32",
- "description": "Number of data sets in a share",
- "type": "integer",
- "readOnly": true
- },
- "description": {
- "description": "Description shared when the invitation was created",
- "type": "string",
- "readOnly": true
- },
- "invitationId": {
- "description": "Unique id of the invitation.",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "invitationStatus": {
- "description": "The status of the invitation.",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Pending",
- "Accepted",
- "Rejected",
- "Withdrawn"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "invitationStatus",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "location": {
- "description": "invitation location",
- "type": "string",
- "readOnly": true
+ "filePath": {
+ "description": "File path within the file system.",
+ "type": "string"
},
- "providerEmail": {
- "description": "Email of the provider who created the resource",
- "type": "string",
- "readOnly": true
+ "fileSystem": {
+ "description": "File system to which the file belongs.",
+ "type": "string"
},
- "providerName": {
- "description": "Name of the provider who created the resource",
+ "outputType": {
+ "description": "Type of output file",
+ "enum": [
+ "Csv",
+ "Parquet"
+ ],
"type": "string",
- "readOnly": true
+ "x-ms-enum": {
+ "name": "outputType",
+ "modelAsString": true
+ }
},
- "providerTenantName": {
- "description": "Tenant name of the provider who created the resource",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "respondedAt": {
- "format": "date-time",
- "description": "The time the recipient responded to the invitation.",
- "type": "string",
- "readOnly": true
- },
- "sentAt": {
- "format": "date-time",
- "description": "Gets the time at which the invitation was sent.",
- "type": "string",
- "readOnly": true
- },
- "shareName": {
- "description": "Gets the source share Name.",
- "type": "string",
- "readOnly": true
- },
- "termsOfUse": {
- "description": "Terms of use shared when the invitation was created",
- "type": "string",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
},
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
},
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
}
}
},
- "ConsumerInvitationList": {
- "description": "List response for get InvitationList",
+ "ADLSGen2FileProperties": {
+ "description": "Properties of the ADLS Gen2 file data set.",
"required": [
- "value"
+ "fileSystem",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "filePath": {
+ "description": "File path within the file system.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ConsumerInvitation"
- }
+ "fileSystem": {
+ "description": "File system to which the file belongs.",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "DataSet": {
- "description": "A DataSet data transfer object.",
+ "ADLSGen2FileSystemDataSet": {
+ "description": "An ADLS Gen 2 file system data set.",
"required": [
+ "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
- "kind": {
- "description": "Kind of data set.",
- "enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "AdlsGen1Folder",
- "AdlsGen1File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FileSystemProperties",
+ "description": "ADLS Gen 2 file system data set properties.",
+ "x-ms-client-flatten": true
}
},
- "discriminator": "kind"
- },
- "DataSetList": {
- "description": "List response for get DataSets",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataSet"
- }
- }
- }
+ "x-ms-discriminator-value": "AdlsGen2FileSystem"
},
- "DataSetMapping": {
- "description": "A data set mapping data transfer object.",
+ "ADLSGen2FileSystemDataSetMapping": {
+ "description": "An ADLS Gen2 file system data set mapping.",
"required": [
+ "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSetMapping"
}
],
"properties": {
- "kind": {
- "description": "Kind of data set mapping.",
- "enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties",
+ "description": "ADLS Gen2 file system data set mapping properties.",
+ "x-ms-client-flatten": true
}
},
- "discriminator": "kind"
+ "x-ms-discriminator-value": "AdlsGen2FileSystem"
},
- "DataSetMappingList": {
- "description": "List response for get DataSetMappings",
+ "ADLSGen2FileSystemDataSetMappingProperties": {
+ "description": "ADLS Gen 2 file system data set mapping property bag.",
"required": [
- "value"
+ "fileSystem",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DataSetMapping"
- }
- }
- }
- },
- "Invitation": {
- "description": "A Invitation data transfer object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/InvitationProperties",
- "description": "Properties on the Invitation",
- "x-ms-client-flatten": true
- }
- }
- },
- "InvitationProperties": {
- "description": "Invitation property bag.",
- "type": "object",
- "properties": {
- "invitationId": {
- "description": "unique invitation id",
- "type": "string",
- "readOnly": true
- },
- "invitationStatus": {
- "description": "The status of the invitation.",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Pending",
- "Accepted",
- "Rejected",
- "Withdrawn"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "invitationStatus",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "respondedAt": {
- "format": "date-time",
- "description": "The time the recipient responded to the invitation.",
- "type": "string",
- "readOnly": true
+ "fileSystem": {
+ "description": "The file system name.",
+ "type": "string"
},
- "sentAt": {
- "format": "date-time",
- "description": "Gets the time at which the invitation was sent.",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "targetActiveDirectoryId": {
- "description": "The target Azure AD Id. Can't be combined with email.",
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
"type": "string"
},
- "targetEmail": {
- "description": "The email the invitation is directed to.",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
"type": "string"
},
- "targetObjectId": {
- "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.",
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
"type": "string"
- },
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
- },
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
}
}
},
- "InvitationList": {
- "description": "List response for get InvitationList",
+ "ADLSGen2FileSystemProperties": {
+ "description": "Properties of the ADLS Gen2 file system data set.",
"required": [
- "value"
+ "fileSystem",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "fileSystem": {
+ "description": "The file system name.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Invitation"
- }
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "OperationList": {
- "description": "List response for get operations.",
+ "ADLSGen2FolderDataSet": {
+ "description": "An ADLS Gen 2 folder data set.",
"required": [
- "value"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationModel"
- }
+ "properties": {
+ "$ref": "#/definitions/ADLSGen2FolderProperties",
+ "description": "ADLS Gen 2 folder data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2Folder"
},
- "OperationModel": {
- "description": "The response model for get operations",
+ "ADLSGen2FolderDataSetMapping": {
+ "description": "An ADLS Gen2 folder data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "display": {
- "$ref": "#/definitions/OperationModelProperties",
- "description": "Properties on the operation"
- },
- "name": {
- "description": "Operation name for display purposes",
- "type": "string"
- },
- "origin": {
- "description": "origin of the operation",
- "type": "string"
- },
"properties": {
- "$ref": "#/definitions/OperationMetaPropertyInfo",
- "description": "properties for the operation meta info",
+ "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties",
+ "description": "ADLS Gen2 folder data set mapping properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "AdlsGen2Folder"
},
- "OperationModelProperties": {
- "description": "Properties on operations",
+ "ADLSGen2FolderDataSetMappingProperties": {
+ "description": "ADLS Gen 2 folder data set mapping property bag.",
+ "required": [
+ "fileSystem",
+ "folderPath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
"type": "object",
"properties": {
- "description": {
- "description": "Description of the operation for display purposes",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "operation": {
- "description": "Name of the operation for display purposes",
- "type": "string"
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "provider": {
- "description": "Name of the provider for display purposes",
+ "fileSystem": {
+ "description": "File system to which the folder belongs.",
"type": "string"
},
- "resource": {
- "description": "Name of the resource type for display purposes",
+ "folderPath": {
+ "description": "Folder path within the file system.",
"type": "string"
- }
- }
- },
- "OperationMetaPropertyInfo": {
- "description": "properties on meta info",
- "type": "object",
- "properties": {
- "serviceSpecification": {
- "$ref": "#/definitions/OperationMetaServiceSpecification",
- "description": "meta service specification"
- }
- }
- },
- "OperationMetaServiceSpecification": {
- "description": "The operation meta service specification",
- "type": "object",
- "properties": {
- "logSpecifications": {
- "description": "log specifications for the operation",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationMetaLogSpecification"
- }
},
- "metricSpecifications": {
- "description": "metric specifications for the operation",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/OperationMetaMetricSpecification"
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
}
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
}
}
},
- "OperationMetaMetricSpecification": {
- "description": "metric specifications for the operation",
+ "ADLSGen2FolderProperties": {
+ "description": "Properties of the ADLS Gen2 folder data set.",
+ "required": [
+ "fileSystem",
+ "folderPath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
+ ],
"type": "object",
"properties": {
- "aggregationType": {
- "description": "aggregation type of metric",
- "type": "string"
- },
- "dimensions": {
- "description": "properties for dimension",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/DimensionProperties"
- }
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
},
- "displayDescription": {
- "description": "description of the metric",
+ "fileSystem": {
+ "description": "File system to which the folder belongs.",
"type": "string"
},
- "displayName": {
- "description": "localized name of the metric",
+ "folderPath": {
+ "description": "Folder path within the file system.",
"type": "string"
},
- "enableRegionalMdmAccount": {
- "description": "enable regional mdm account",
+ "resourceGroup": {
+ "description": "Resource group of storage account",
"type": "string"
},
- "internalMetricName": {
- "description": "internal metric name",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
"type": "string"
},
- "name": {
- "description": "name of the metric",
- "type": "string"
- },
- "resourceIdDimensionNameOverride": {
- "description": "dimension name use to replace resource id if specified",
- "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"
- }
- },
- "unit": {
- "description": "units for the metric",
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
"type": "string"
}
}
},
- "OperationMetaLogSpecification": {
- "description": "log specifications for operation api",
+ "BlobContainerDataSet": {
+ "description": "An Azure storage blob container data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
- "properties": {
- "blobDuration": {
- "description": "blob duration of the log",
- "type": "string"
- },
- "displayName": {
- "description": "localized name of the log category",
- "type": "string"
- },
- "name": {
- "description": "name of the log category",
- "type": "string"
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
}
- }
- },
- "DimensionProperties": {
- "description": "properties for dimension",
- "type": "object",
+ ],
"properties": {
- "displayName": {
- "description": "localized display name of the dimension to customer",
- "type": "string"
- },
- "name": {
- "description": "dimension name",
- "type": "string"
+ "properties": {
+ "$ref": "#/definitions/BlobContainerProperties",
+ "description": "Blob container data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "Container"
},
- "Share": {
- "description": "A share data transfer object.",
+ "BlobContainerDataSetMapping": {
+ "description": "A Blob container data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/ProxyDto"
+ "$ref": "#/definitions/DataSetMapping"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ShareProperties",
- "description": "Properties on the share",
+ "$ref": "#/definitions/BlobContainerMappingProperties",
+ "description": "Blob container data set mapping properties.",
"x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "Container"
},
- "ShareProperties": {
- "description": "Share property bag.",
+ "BlobContainerMappingProperties": {
+ "description": "Azure storage Blob container data set mapping property bag.",
+ "required": [
+ "containerName",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
"type": "object",
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the share was created.",
- "type": "string",
- "readOnly": true
+ "containerName": {
+ "description": "BLOB Container name.",
+ "type": "string"
},
- "description": {
- "description": "Share description.",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "provisioningState": {
- "description": "Gets or sets the provisioning state",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "shareKind": {
- "description": "Share kind.",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
"enum": [
- "CopyBased",
- "InPlace"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
+ "readOnly": true,
"x-ms-enum": {
- "name": "shareKind",
+ "name": "provisioningState",
"modelAsString": true
}
},
- "terms": {
- "description": "Share terms.",
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
"type": "string"
},
- "userEmail": {
- "description": "Email of the user who created the resource",
- "type": "string",
- "readOnly": true
- },
- "userName": {
- "description": "Name of the user who created the resource",
- "type": "string",
- "readOnly": true
- }
- }
- },
- "ShareList": {
- "description": "List response for get Shares.",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/Share"
- }
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
}
}
},
- "ShareSynchronizationList": {
- "description": "List response for get ShareSynchronization.",
+ "BlobContainerProperties": {
+ "description": "Properties of the BLOB container data set.",
"required": [
- "value"
+ "containerName",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ShareSynchronization"
- }
- }
- }
- },
- "ShareSynchronization": {
- "description": "A ShareSynchronization data transfer object.",
- "type": "object",
- "properties": {
- "consumerEmail": {
- "description": "Email of the user who created the synchronization",
- "type": "string"
- },
- "consumerName": {
- "description": "Name of the user who created the synchronization",
- "type": "string"
- },
- "consumerTenantName": {
- "description": "Tenant name of the consumer who created the synchronization",
- "type": "string"
- },
- "durationMs": {
- "format": "int32",
- "description": "synchronization duration",
- "type": "integer"
- },
- "endTime": {
- "format": "date-time",
- "description": "End time of synchronization",
+ "containerName": {
+ "description": "BLOB Container name.",
"type": "string"
},
- "message": {
- "description": "message of synchronization",
- "type": "string"
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
},
- "startTime": {
- "format": "date-time",
- "description": "start time of synchronization",
+ "resourceGroup": {
+ "description": "Resource group of storage account",
"type": "string"
},
- "status": {
- "description": "Raw Status",
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
"type": "string"
},
- "synchronizationId": {
- "description": "Synchronization id",
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
"type": "string"
- },
- "synchronizationMode": {
- "description": "Synchronization mode",
- "enum": [
- "Incremental",
- "FullSync"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "synchronizationMode",
- "modelAsString": true
- }
}
}
},
- "SynchronizationDetailsList": {
- "description": "details of synchronization",
+ "BlobDataSet": {
+ "description": "An Azure storage blob data set.",
"required": [
- "value"
- ],
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/SynchronizationDetails"
- }
+ "properties": {
+ "$ref": "#/definitions/BlobProperties",
+ "description": "Blob data set properties.",
+ "x-ms-client-flatten": true
}
- }
+ },
+ "x-ms-discriminator-value": "Blob"
},
- "SynchronizationDetails": {
- "description": "Synchronization details at data set level",
+ "BlobDataSetMapping": {
+ "description": "A Blob data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
+ "properties": {
+ "$ref": "#/definitions/BlobMappingProperties",
+ "description": "Blob data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "Blob"
+ },
+ "BlobFolderDataSet": {
+ "description": "An Azure storage blob folder data set.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BlobFolderProperties",
+ "description": "Blob folder data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "BlobFolder"
+ },
+ "BlobFolderDataSetMapping": {
+ "description": "A Blob folder data set mapping.",
+ "required": [
+ "properties",
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/BlobFolderMappingProperties",
+ "description": "Blob folder data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "BlobFolder"
+ },
+ "BlobFolderMappingProperties": {
+ "description": "Azure storage Blob folder data set mapping property bag.",
+ "required": [
+ "containerName",
+ "prefix",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "Container that has the file path.",
+ "type": "string"
+ },
"dataSetId": {
- "description": "Id of data set",
- "type": "string",
- "readOnly": true
+ "description": "The id of the source data set.",
+ "type": "string"
},
- "dataSetType": {
- "description": "Type of the data set",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Blob",
- "Container",
- "BlobFolder",
- "AdlsGen2FileSystem",
- "AdlsGen2Folder",
- "AdlsGen2File",
- "AdlsGen1Folder",
- "AdlsGen1File",
- "KustoCluster",
- "KustoDatabase",
- "SqlDBTable",
- "SqlDWTable"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "dataSetType",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "durationMs": {
- "format": "int32",
- "description": "Duration of data set level copy",
- "type": "integer",
- "readOnly": true
+ "prefix": {
+ "description": "Prefix for blob folder",
+ "type": "string"
},
- "endTime": {
- "format": "date-time",
- "description": "End time of data set level copy",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "filesRead": {
- "format": "int64",
- "description": "The number of files read from the source data set",
- "type": "integer",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
},
- "filesWritten": {
- "format": "int64",
- "description": "The number of files written into the sink data set",
- "type": "integer",
- "readOnly": true
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
},
- "message": {
- "description": "Error message if any",
- "type": "string",
- "readOnly": true
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
+ }
+ }
+ },
+ "BlobFolderProperties": {
+ "description": "Properties of the blob folder data set.",
+ "required": [
+ "containerName",
+ "prefix",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
+ ],
+ "type": "object",
+ "properties": {
+ "containerName": {
+ "description": "Container that has the file path.",
+ "type": "string"
},
- "name": {
- "description": "Name of the data set",
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
"type": "string",
"readOnly": true
},
- "rowsCopied": {
- "format": "int64",
- "description": "The number of files copied into the sink data set",
- "type": "integer",
- "readOnly": true
- },
- "rowsRead": {
- "format": "int64",
- "description": "The number of rows read from the source data set.",
- "type": "integer",
- "readOnly": true
- },
- "sizeRead": {
- "format": "int64",
- "description": "The size of the data read from the source data set in bytes",
- "type": "integer",
- "readOnly": true
- },
- "sizeWritten": {
- "format": "int64",
- "description": "The size of the data written into the sink data set in bytes",
- "type": "integer",
- "readOnly": true
+ "prefix": {
+ "description": "Prefix for blob folder",
+ "type": "string"
},
- "startTime": {
- "format": "date-time",
- "description": "Start time of data set level copy",
- "type": "string",
- "readOnly": true
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
},
- "status": {
- "description": "Raw Status",
- "type": "string",
- "readOnly": true
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
},
- "vCore": {
- "format": "int64",
- "description": "The vCore units consumed for the data set synchronization",
- "type": "integer",
- "readOnly": true
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "ProviderShareSubscription": {
- "description": "A provider side share subscription data transfer object.",
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
- }
+ "BlobMappingProperties": {
+ "description": "Azure storage Blob data set mapping property bag.",
+ "required": [
+ "containerName",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName",
+ "dataSetId"
],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ProviderShareSubscriptionProperties",
- "description": "properties of providerShareSubscription",
- "x-ms-client-flatten": true
- }
- }
- },
- "ProviderShareSubscriptionProperties": {
- "description": "Provider share subscription properties",
"type": "object",
"properties": {
- "consumerEmail": {
- "description": "Email of the consumer who created the share subscription",
- "type": "string",
- "readOnly": true
- },
- "consumerName": {
- "description": "Name of the consumer who created the share subscription",
- "type": "string",
- "readOnly": true
- },
- "consumerTenantName": {
- "description": "Tenant name of the consumer who created the share subscription",
- "type": "string",
- "readOnly": true
- },
- "createdAt": {
- "format": "date-time",
- "description": "created at",
- "type": "string",
- "readOnly": true
+ "containerName": {
+ "description": "Container that has the file path.",
+ "type": "string"
},
- "providerEmail": {
- "description": "Email of the provider who created the share",
- "type": "string",
- "readOnly": true
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
},
- "providerName": {
- "description": "Name of the provider who created the share",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "sharedAt": {
- "format": "date-time",
- "description": "Shared at",
- "type": "string",
- "readOnly": true
+ "filePath": {
+ "description": "File path within the source data set",
+ "type": "string"
},
- "shareSubscriptionObjectId": {
- "description": "share Subscription Object Id",
+ "outputType": {
+ "description": "File output type",
+ "enum": [
+ "Csv",
+ "Parquet"
+ ],
"type": "string",
- "readOnly": true
+ "x-ms-enum": {
+ "name": "outputType",
+ "modelAsString": true
+ }
},
- "shareSubscriptionStatus": {
- "description": "Gets the status of share subscription",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
"enum": [
- "Active",
- "Revoked",
- "SourceDeleted",
- "Revoking"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "shareSubscriptionStatus",
+ "name": "provisioningState",
"modelAsString": true
}
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account.",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set.",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account.",
+ "type": "string"
}
}
},
- "ProviderShareSubscriptionList": {
- "description": "List response for get ShareSubscription.",
+ "BlobProperties": {
+ "description": "Properties of the blob data set.",
"required": [
- "value"
+ "containerName",
+ "filePath",
+ "subscriptionId",
+ "resourceGroup",
+ "storageAccountName"
],
"type": "object",
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
+ "containerName": {
+ "description": "Container that has the file path.",
"type": "string"
},
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ProviderShareSubscription"
- }
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "filePath": {
+ "description": "File path within the source data set",
+ "type": "string"
+ },
+ "resourceGroup": {
+ "description": "Resource group of storage account",
+ "type": "string"
+ },
+ "storageAccountName": {
+ "description": "Storage account name of the source data set",
+ "type": "string"
+ },
+ "subscriptionId": {
+ "description": "Subscription id of storage account",
+ "type": "string"
}
}
},
- "ShareSubscription": {
- "description": "A share subscription data transfer object.",
+ "ConsumerInvitation": {
+ "description": "A consumer Invitation data transfer object.",
"required": [
"properties"
],
@@ -4096,30 +4174,75 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/ShareSubscriptionProperties",
- "description": "Properties on the share subscription",
+ "$ref": "#/definitions/ConsumerInvitationProperties",
+ "description": "Properties on the account",
"x-ms-client-flatten": true
}
}
},
- "ShareSubscriptionProperties": {
- "description": "Share subscription property bag.",
+ "ConsumerInvitationList": {
+ "description": "List response for get InvitationList",
"required": [
- "invitationId",
- "sourceShareLocation"
+ "value"
],
"type": "object",
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the share subscription was created.",
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConsumerInvitation"
+ }
+ }
+ }
+ },
+ "ConsumerInvitationProperties": {
+ "description": "Properties of consumer invitation",
+ "required": [
+ "invitationId"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetCount": {
+ "format": "int32",
+ "description": "Number of data sets in a share",
+ "type": "integer",
+ "readOnly": true
+ },
+ "description": {
+ "description": "Description shared when the invitation was created",
"type": "string",
"readOnly": true
},
"invitationId": {
- "description": "The invitation id.",
+ "description": "Unique id of the invitation.",
"type": "string"
},
+ "invitationStatus": {
+ "description": "The status of the invitation.",
+ "enum": [
+ "Pending",
+ "Accepted",
+ "Rejected",
+ "Withdrawn"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "invitationStatus",
+ "modelAsString": true
+ }
+ },
+ "location": {
+ "description": "invitation location",
+ "type": "string",
+ "readOnly": true
+ },
"providerEmail": {
"description": "Email of the provider who created the resource",
"type": "string",
@@ -4135,69 +4258,28 @@
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the share subscription",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- },
- "shareDescription": {
- "description": "Description of share",
+ "respondedAt": {
+ "format": "date-time",
+ "description": "The time the recipient responded to the invitation.",
"type": "string",
"readOnly": true
},
- "shareKind": {
- "description": "Kind of share",
- "enum": [
- "CopyBased",
- "InPlace"
- ],
+ "sentAt": {
+ "format": "date-time",
+ "description": "Gets the time at which the invitation was sent.",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "shareKind",
- "modelAsString": true
- }
+ "readOnly": true
},
"shareName": {
- "description": "Name of the share",
+ "description": "Gets the source share Name.",
"type": "string",
"readOnly": true
},
- "shareSubscriptionStatus": {
- "description": "Gets the current status of share subscription.",
- "enum": [
- "Active",
- "Revoked",
- "SourceDeleted",
- "Revoking"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "shareSubscriptionStatus",
- "modelAsString": true
- }
- },
- "shareTerms": {
- "description": "Terms of a share",
+ "termsOfUse": {
+ "description": "Terms of use shared when the invitation was created",
"type": "string",
"readOnly": true
},
- "sourceShareLocation": {
- "description": "Source share location.",
- "type": "string"
- },
"userEmail": {
"description": "Email of the user who created the resource",
"type": "string",
@@ -4210,24 +4292,19 @@
}
}
},
- "ShareSubscriptionList": {
- "description": "List response for get ShareSubscription.",
- "required": [
- "value"
- ],
+ "ConsumerSourceDataSet": {
+ "description": "A consumer side dataSet data transfer object.",
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyDto"
+ }
+ ],
"properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ShareSubscription"
- }
+ "properties": {
+ "$ref": "#/definitions/ConsumerSourceDataSetProperties",
+ "description": "source dataSet properties",
+ "x-ms-client-flatten": true
}
}
},
@@ -4252,48 +4329,69 @@
}
}
},
- "ConsumerSourceDataSet": {
- "description": "A consumer side dataSet data transfer object.",
+ "ConsumerSourceDataSetProperties": {
+ "description": "Properties of consumer source dataSet",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ConsumerSourceDataSetProperties",
- "description": "source dataSet properties",
- "x-ms-client-flatten": true
+ "dataSetId": {
+ "description": "DataSet Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataSetLocation": {
+ "description": "Location of the data set.",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataSetName": {
+ "description": "DataSet name",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataSetPath": {
+ "description": "DataSet path",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataSetType": {
+ "description": "Type of data set",
+ "enum": [
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "AdlsGen1Folder",
+ "AdlsGen1File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetType",
+ "modelAsString": true
+ }
}
}
},
- "ConsumerSourceDataSetProperties": {
- "description": "Properties of consumer source dataSet",
+ "DataSet": {
+ "description": "A DataSet data transfer object.",
+ "required": [
+ "kind"
+ ],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyDto"
+ }
+ ],
"properties": {
- "dataSetId": {
- "description": "DataSet Id",
- "type": "string",
- "readOnly": true
- },
- "dataSetLocation": {
- "description": "Location of the data set.",
- "type": "string",
- "readOnly": true
- },
- "dataSetName": {
- "description": "DataSet name",
- "type": "string",
- "readOnly": true
- },
- "dataSetPath": {
- "description": "DataSet path",
- "type": "string",
- "readOnly": true
- },
- "dataSetType": {
- "description": "Type of data set",
+ "kind": {
+ "description": "Kind of data set.",
"enum": [
"Blob",
"Container",
@@ -4309,16 +4407,16 @@
"SqlDWTable"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "dataSetType",
+ "name": "kind",
"modelAsString": true
}
}
- }
+ },
+ "discriminator": "kind"
},
- "SourceShareSynchronizationSettingList": {
- "description": "List response for get source share Synchronization settings",
+ "DataSetList": {
+ "description": "List response for get DataSets",
"required": [
"value"
],
@@ -4333,22 +4431,36 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/SourceShareSynchronizationSetting"
+ "$ref": "#/definitions/DataSet"
}
}
}
},
- "SourceShareSynchronizationSetting": {
- "description": "A view of synchronization setting added by the provider",
+ "DataSetMapping": {
+ "description": "A data set mapping data transfer object.",
"required": [
"kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/ProxyDto"
+ }
+ ],
"properties": {
"kind": {
- "description": "Kind of synchronization",
+ "description": "Kind of data set mapping.",
"enum": [
- "ScheduleBased"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"x-ms-enum": {
@@ -4359,8 +4471,8 @@
},
"discriminator": "kind"
},
- "ShareSubscriptionSynchronizationList": {
- "description": "A consumer side list of share subscription synchronizations",
+ "DataSetMappingList": {
+ "description": "List response for get DataSetMappings",
"required": [
"value"
],
@@ -4375,135 +4487,130 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ "$ref": "#/definitions/DataSetMapping"
}
}
}
},
- "ShareSubscriptionSynchronization": {
- "description": "A ShareSubscriptionSynchronization data transfer object.",
+ "DataShareError": {
+ "description": "The data share error model.",
"required": [
- "synchronizationId"
+ "error"
],
"type": "object",
"properties": {
- "durationMs": {
- "format": "int32",
- "description": "Synchronization duration",
- "type": "integer",
- "readOnly": true
+ "error": {
+ "$ref": "#/definitions/DataShareErrorInfo",
+ "description": "The data share error body"
+ }
+ }
+ },
+ "DataShareErrorInfo": {
+ "description": "The data share error body model.",
+ "required": [
+ "code",
+ "message"
+ ],
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Code of the error",
+ "type": "string"
},
- "endTime": {
- "format": "date-time",
- "description": "End time of synchronization",
- "type": "string",
- "readOnly": true
+ "details": {
+ "description": "Nested details of the error model",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DataShareErrorInfo"
+ }
},
"message": {
- "description": "message of Synchronization",
- "type": "string",
- "readOnly": true
+ "description": "Message of the error",
+ "type": "string"
},
- "startTime": {
- "format": "date-time",
- "description": "start time of synchronization",
+ "target": {
+ "description": "Target of the error",
+ "type": "string"
+ }
+ }
+ },
+ "DefaultDto": {
+ "description": "Base data transfer object implementation for default resources.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The resource id of the azure resource",
"type": "string",
"readOnly": true
},
- "status": {
- "description": "Raw Status",
+ "location": {
+ "description": "Location of the azure resource.",
+ "type": "string"
+ },
+ "name": {
+ "description": "Name of the azure resource",
"type": "string",
"readOnly": true
},
- "synchronizationId": {
- "description": "Synchronization id",
- "type": "string"
+ "tags": {
+ "description": "Tags on the azure resource.",
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ }
},
- "synchronizationMode": {
- "description": "Synchronization Mode",
- "enum": [
- "Incremental",
- "FullSync"
- ],
+ "type": {
+ "description": "Type of the azure resource",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "synchronizationMode",
- "modelAsString": true
- }
+ "readOnly": true
}
- }
+ },
+ "x-ms-azure-resource": true
},
- "Synchronize": {
- "description": "Payload for the synchronizing the data.",
+ "DimensionProperties": {
+ "description": "properties for dimension",
"type": "object",
"properties": {
- "synchronizationMode": {
- "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default",
- "enum": [
- "Incremental",
- "FullSync"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "synchronizationMode",
- "modelAsString": true
- }
+ "displayName": {
+ "description": "localized display name of the dimension to customer",
+ "type": "string"
+ },
+ "name": {
+ "description": "dimension name",
+ "type": "string"
}
}
},
- "SynchronizationSetting": {
- "description": "A Synchronization Setting data transfer object.",
- "required": [
- "kind"
- ],
+ "Identity": {
+ "description": "Identity of resource",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/ProxyDto"
- }
- ],
"properties": {
- "kind": {
- "description": "Kind of synchronization",
+ "principalId": {
+ "description": "service principal Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "tenantId": {
+ "description": "Tenant Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "description": "Identity Type",
"enum": [
- "ScheduleBased"
+ "SystemAssigned"
],
"type": "string",
"x-ms-enum": {
- "name": "kind",
+ "name": "type",
"modelAsString": true
}
}
- },
- "discriminator": "kind"
- },
- "SynchronizationSettingList": {
- "description": "List response for get Synchronization settings",
- "required": [
- "value"
- ],
- "type": "object",
- "properties": {
- "nextLink": {
- "description": "The Url of next result page.",
- "type": "string"
- },
- "value": {
- "description": "Collection of items of type DataTransferObjects.",
- "uniqueItems": false,
- "type": "array",
- "items": {
- "$ref": "#/definitions/SynchronizationSetting"
- }
- }
}
},
- "Trigger": {
- "description": "A Trigger data transfer object.",
- "required": [
- "kind"
- ],
+ "Invitation": {
+ "description": "A Invitation data transfer object.",
"type": "object",
"allOf": [
{
@@ -4511,22 +4618,15 @@
}
],
"properties": {
- "kind": {
- "description": "Kind of synchronization",
- "enum": [
- "ScheduleBased"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "kind",
- "modelAsString": true
- }
+ "properties": {
+ "$ref": "#/definitions/InvitationProperties",
+ "description": "Properties on the Invitation",
+ "x-ms-client-flatten": true
}
- },
- "discriminator": "kind"
+ }
},
- "TriggerList": {
- "description": "List response for get triggers",
+ "InvitationList": {
+ "description": "List response for get InvitationList",
"required": [
"value"
],
@@ -4541,88 +4641,73 @@
"uniqueItems": false,
"type": "array",
"items": {
- "$ref": "#/definitions/Trigger"
+ "$ref": "#/definitions/Invitation"
}
}
}
},
- "ScheduledSynchronizationSetting": {
- "description": "A type of synchronization setting based on schedule",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/SynchronizationSetting"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ScheduledSynchronizationSettingProperties",
- "description": "Properties of scheduled synchronization",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "ScheduleBased"
- },
- "ScheduledSynchronizationSettingProperties": {
- "description": "A Scheduled synchronization setting data transfer object.",
- "required": [
- "recurrenceInterval",
- "synchronizationTime"
- ],
+ "InvitationProperties": {
+ "description": "Invitation property bag.",
"type": "object",
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the synchronization setting was created.",
+ "invitationId": {
+ "description": "unique invitation id",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Gets or sets the provisioning state",
+ "invitationStatus": {
+ "description": "The status of the invitation.",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Pending",
+ "Accepted",
+ "Rejected",
+ "Withdrawn"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "invitationStatus",
"modelAsString": true
}
},
- "recurrenceInterval": {
- "description": "Recurrence Interval",
- "enum": [
- "Hour",
- "Day"
- ],
+ "respondedAt": {
+ "format": "date-time",
+ "description": "The time the recipient responded to the invitation.",
"type": "string",
- "x-ms-enum": {
- "name": "recurrenceInterval",
- "modelAsString": true
- }
+ "readOnly": true
},
- "synchronizationTime": {
+ "sentAt": {
"format": "date-time",
- "description": "Synchronization time",
+ "description": "Gets the time at which the invitation was sent.",
+ "type": "string",
+ "readOnly": true
+ },
+ "targetActiveDirectoryId": {
+ "description": "The target Azure AD Id. Can't be combined with email.",
+ "type": "string"
+ },
+ "targetEmail": {
+ "description": "The email the invitation is directed to.",
"type": "string"
},
+ "targetObjectId": {
+ "description": "The target user or application Id that invitation is being sent to.\r\nMust be specified along TargetActiveDirectoryId. This enables sending\r\ninvitations to specific users or applications in an AD tenant.",
+ "type": "string"
+ },
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
"userName": {
- "description": "Name of the user who created the synchronization setting.",
+ "description": "Name of the user who created the resource",
"type": "string",
"readOnly": true
}
}
},
- "ScheduledTrigger": {
- "description": "A type of trigger based on schedule",
+ "KustoClusterDataSet": {
+ "description": "A kusto cluster data set.",
"required": [
"properties",
"kind"
@@ -4630,159 +4715,132 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/Trigger"
+ "$ref": "#/definitions/DataSet"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/ScheduledTriggerProperties",
- "description": "Properties of scheduled synchronization",
+ "$ref": "#/definitions/KustoClusterDataSetProperties",
+ "description": "Kusto cluster data set properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "ScheduleBased"
+ "x-ms-discriminator-value": "KustoCluster"
},
- "ScheduledTriggerProperties": {
- "description": "A Scheduled trigger data transfer object.",
+ "KustoClusterDataSetMapping": {
+ "description": "A Kusto cluster data set mapping",
"required": [
- "recurrenceInterval",
- "synchronizationTime"
+ "properties",
+ "kind"
],
"type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSetMapping"
+ }
+ ],
"properties": {
- "createdAt": {
- "format": "date-time",
- "description": "Time at which the trigger was created.",
- "type": "string",
- "readOnly": true
+ "properties": {
+ "$ref": "#/definitions/KustoClusterDataSetMappingProperties",
+ "description": "Kusto cluster data set mapping properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "KustoCluster"
+ },
+ "KustoClusterDataSetMappingProperties": {
+ "description": "Properties of the Kusto cluster data set mapping",
+ "required": [
+ "kustoClusterResourceId",
+ "dataSetId"
+ ],
+ "type": "object",
+ "properties": {
+ "dataSetId": {
+ "description": "The id of the source data set.",
+ "type": "string"
},
- "provisioningState": {
- "description": "Gets the provisioning state",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Ok",
+ "Broken"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "dataSetMappingStatus",
"modelAsString": true
}
},
- "recurrenceInterval": {
- "description": "Recurrence Interval",
- "enum": [
- "Hour",
- "Day"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "recurrenceInterval",
- "modelAsString": true
- }
+ "kustoClusterResourceId": {
+ "description": "Resource id of the sink kusto cluster.",
+ "type": "string"
},
- "synchronizationMode": {
- "description": "Synchronization mode",
- "enum": [
- "Incremental",
- "FullSync"
- ],
+ "location": {
+ "description": "Location of the sink kusto cluster.",
"type": "string",
- "x-ms-enum": {
- "name": "synchronizationMode",
- "modelAsString": true
- }
- },
- "synchronizationTime": {
- "format": "date-time",
- "description": "Synchronization time",
- "type": "string"
+ "readOnly": true
},
- "triggerStatus": {
- "description": "Gets the trigger state",
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
"enum": [
- "Active",
- "Inactive",
- "SourceSynchronizationSettingDeleted"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "triggerStatus",
+ "name": "provisioningState",
"modelAsString": true
}
- },
- "userName": {
- "description": "Name of the user who created the trigger.",
- "type": "string",
- "readOnly": true
}
}
},
- "BlobDataSet": {
- "description": "An Azure storage blob data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/BlobProperties",
- "description": "Blob data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "Blob"
- },
- "BlobProperties": {
- "description": "Properties of the blob data set.",
+ "KustoClusterDataSetProperties": {
+ "description": "Properties of the kusto cluster data set.",
"required": [
- "containerName",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
+ "kustoClusterResourceId"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
"dataSetId": {
"description": "Unique id for identifying a data set resource",
"type": "string",
- "readOnly": true
- },
- "filePath": {
- "description": "File path within the source data set",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
- "type": "string"
+ "readOnly": true
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
+ "kustoClusterResourceId": {
+ "description": "Resource id of the kusto cluster.",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "location": {
+ "description": "Location of the kusto cluster.",
+ "type": "string",
+ "readOnly": true
+ },
+ "provisioningState": {
+ "description": "Provisioning state of the kusto cluster data set.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
}
}
},
- "BlobFolderDataSet": {
- "description": "An Azure storage blob folder data set.",
+ "KustoDatabaseDataSet": {
+ "description": "A kusto database data set.",
"required": [
"properties",
"kind"
@@ -4795,53 +4853,15 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobFolderProperties",
- "description": "Blob folder data set properties.",
+ "$ref": "#/definitions/KustoDatabaseDataSetProperties",
+ "description": "Kusto database data set properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "BlobFolder"
- },
- "BlobFolderProperties": {
- "description": "Properties of the blob folder data set.",
- "required": [
- "containerName",
- "prefix",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
- ],
- "type": "object",
- "properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "prefix": {
- "description": "Prefix for blob folder",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
- },
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
- }
- }
+ "x-ms-discriminator-value": "KustoDatabase"
},
- "BlobContainerDataSet": {
- "description": "An Azure storage blob container data set.",
+ "KustoDatabaseDataSetMapping": {
+ "description": "A Kusto database data set mapping",
"required": [
"properties",
"kind"
@@ -4849,80 +4869,74 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/DataSetMapping"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobContainerProperties",
- "description": "Blob container data set properties.",
+ "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties",
+ "description": "Kusto database data set mapping properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "Container"
+ "x-ms-discriminator-value": "KustoDatabase"
},
- "BlobContainerProperties": {
- "description": "Properties of the BLOB container data set.",
+ "KustoDatabaseDataSetMappingProperties": {
+ "description": "Properties of the Kusto database data set mapping",
"required": [
- "containerName",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
+ "kustoClusterResourceId",
+ "dataSetId"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "BLOB Container name.",
+ "dataSetId": {
+ "description": "The id of the source data set.",
"type": "string"
},
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "dataSetMappingStatus": {
+ "description": "Gets the status of the data set mapping.",
+ "enum": [
+ "Ok",
+ "Broken"
+ ],
"type": "string",
- "readOnly": true
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "dataSetMappingStatus",
+ "modelAsString": true
+ }
},
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "kustoClusterResourceId": {
+ "description": "Resource id of the sink kusto cluster.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "location": {
+ "description": "Location of the sink kusto cluster.",
+ "type": "string",
+ "readOnly": true
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "provisioningState": {
+ "description": "Provisioning state of the data set mapping.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
}
}
},
- "ADLSGen2FileDataSet": {
- "description": "An ADLS Gen 2 file data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FileProperties",
- "description": "ADLS Gen 2 file data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "AdlsGen2File"
- },
- "ADLSGen2FileProperties": {
- "description": "Properties of the ADLS Gen2 file data set.",
+ "KustoDatabaseDataSetProperties": {
+ "description": "Properties of the kusto database data set.",
"required": [
- "fileSystem",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
+ "kustoDatabaseResourceId"
],
"type": "object",
"properties": {
@@ -4931,482 +4945,492 @@
"type": "string",
"readOnly": true
},
- "filePath": {
- "description": "File path within the file system.",
- "type": "string"
- },
- "fileSystem": {
- "description": "File system to which the file belongs.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "kustoDatabaseResourceId": {
+ "description": "Resource id of the kusto database.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "location": {
+ "description": "Location of the kusto cluster.",
+ "type": "string",
+ "readOnly": true
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "provisioningState": {
+ "description": "Provisioning state of the kusto database data set.",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
}
}
},
- "ADLSGen2FolderDataSet": {
- "description": "An ADLS Gen 2 folder data set.",
+ "OperationList": {
+ "description": "List response for get operations.",
"required": [
- "properties",
- "kind"
+ "value"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
+ "properties": {
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationModel"
+ }
}
- ],
+ }
+ },
+ "OperationMetaLogSpecification": {
+ "description": "log specifications for operation api",
+ "type": "object",
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FolderProperties",
- "description": "ADLS Gen 2 folder data set properties.",
- "x-ms-client-flatten": true
+ "blobDuration": {
+ "description": "blob duration of the log",
+ "type": "string"
+ },
+ "displayName": {
+ "description": "localized name of the log category",
+ "type": "string"
+ },
+ "name": {
+ "description": "name of the log category",
+ "type": "string"
}
- },
- "x-ms-discriminator-value": "AdlsGen2Folder"
+ }
},
- "ADLSGen2FolderProperties": {
- "description": "Properties of the ADLS Gen2 folder data set.",
- "required": [
- "fileSystem",
- "folderPath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
- ],
+ "OperationMetaMetricSpecification": {
+ "description": "metric specifications for the operation",
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
+ "aggregationType": {
+ "description": "aggregation type of metric",
+ "type": "string"
},
- "fileSystem": {
- "description": "File system to which the folder belongs.",
+ "dimensions": {
+ "description": "properties for dimension",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/DimensionProperties"
+ }
+ },
+ "displayDescription": {
+ "description": "description of the metric",
"type": "string"
},
- "folderPath": {
- "description": "Folder path within the file system.",
+ "displayName": {
+ "description": "localized name of the metric",
"type": "string"
},
- "resourceGroup": {
- "description": "Resource group of storage account",
+ "enableRegionalMdmAccount": {
+ "description": "enable regional mdm account",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set",
+ "internalMetricName": {
+ "description": "internal metric name",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
+ "name": {
+ "description": "name of the metric",
+ "type": "string"
+ },
+ "resourceIdDimensionNameOverride": {
+ "description": "dimension name use to replace resource id if specified",
+ "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"
+ }
+ },
+ "unit": {
+ "description": "units for the metric",
"type": "string"
}
}
},
- "ADLSGen2FileSystemDataSet": {
- "description": "An ADLS Gen 2 file system data set.",
- "required": [
- "properties",
- "kind"
- ],
+ "OperationMetaPropertyInfo": {
+ "description": "properties on meta info",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FileSystemProperties",
- "description": "ADLS Gen 2 file system data set properties.",
- "x-ms-client-flatten": true
+ "serviceSpecification": {
+ "$ref": "#/definitions/OperationMetaServiceSpecification",
+ "description": "meta service specification"
}
- },
- "x-ms-discriminator-value": "AdlsGen2FileSystem"
+ }
},
- "ADLSGen2FileSystemProperties": {
- "description": "Properties of the ADLS Gen2 file system data set.",
- "required": [
- "fileSystem",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName"
- ],
+ "OperationMetaServiceSpecification": {
+ "description": "The operation meta service specification",
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "fileSystem": {
- "description": "The file system name.",
- "type": "string"
- },
- "resourceGroup": {
- "description": "Resource group of storage account",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set",
- "type": "string"
+ "logSpecifications": {
+ "description": "log specifications for the operation",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetaLogSpecification"
+ }
},
- "subscriptionId": {
- "description": "Subscription id of storage account",
- "type": "string"
+ "metricSpecifications": {
+ "description": "metric specifications for the operation",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationMetaMetricSpecification"
+ }
}
}
},
- "ADLSGen1FolderDataSet": {
- "description": "An ADLS Gen 1 folder data set.",
- "required": [
- "properties",
- "kind"
- ],
+ "OperationModel": {
+ "description": "The response model for get operations",
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
"properties": {
+ "display": {
+ "$ref": "#/definitions/OperationModelProperties",
+ "description": "Properties on the operation"
+ },
+ "name": {
+ "description": "Operation name for display purposes",
+ "type": "string"
+ },
+ "origin": {
+ "description": "origin of the operation",
+ "type": "string"
+ },
"properties": {
- "$ref": "#/definitions/ADLSGen1FolderProperties",
- "description": "ADLS Gen 1 folder data set properties.",
+ "$ref": "#/definitions/OperationMetaPropertyInfo",
+ "description": "properties for the operation meta info",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "AdlsGen1Folder"
+ }
},
- "ADLSGen1FolderProperties": {
- "description": "Properties of the ADLS Gen1 folder data set.",
- "required": [
- "subscriptionId",
- "resourceGroup",
- "accountName",
- "folderPath"
- ],
+ "OperationModelProperties": {
+ "description": "Properties on operations",
"type": "object",
"properties": {
- "accountName": {
- "description": "The ADLS account name.",
+ "description": {
+ "description": "Description of the operation for display purposes",
"type": "string"
},
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "folderPath": {
- "description": "The folder path within the ADLS account.",
+ "operation": {
+ "description": "Name of the operation for display purposes",
"type": "string"
},
- "resourceGroup": {
- "description": "Resource group of ADLS account.",
+ "provider": {
+ "description": "Name of the provider for display purposes",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of ADLS account.",
+ "resource": {
+ "description": "Name of the resource type for display purposes",
"type": "string"
}
}
},
- "ADLSGen1FileDataSet": {
- "description": "An ADLS Gen 1 file data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen1FileProperties",
- "description": "ADLS Gen 1 file data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "AdlsGen1File"
- },
- "ADLSGen1FileProperties": {
- "description": "Properties of the ADLS Gen1 file data set.",
+ "OperationResponse": {
+ "description": "Response for long running operation",
"required": [
- "subscriptionId",
- "resourceGroup",
- "accountName",
- "folderPath",
- "fileName"
+ "status"
],
"type": "object",
"properties": {
- "accountName": {
- "description": "The ADLS account name.",
- "type": "string"
- },
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "fileName": {
- "description": "The file name in the ADLS account.",
+ "endTime": {
+ "format": "date-time",
+ "description": "start time",
"type": "string"
},
- "folderPath": {
- "description": "The folder path within the ADLS account.",
- "type": "string"
+ "error": {
+ "$ref": "#/definitions/DataShareErrorInfo",
+ "description": "The error property when status is failed."
},
- "resourceGroup": {
- "description": "Resource group of ADLS account.",
+ "startTime": {
+ "format": "date-time",
+ "description": "start time",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of ADLS account.",
- "type": "string"
+ "status": {
+ "description": "Operation state of the long running operation.",
+ "enum": [
+ "Accepted",
+ "InProgress",
+ "TransientFailure",
+ "Succeeded",
+ "Failed",
+ "Canceled"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "status",
+ "modelAsString": true
+ }
}
}
},
- "KustoClusterDataSet": {
- "description": "A kusto cluster data set.",
- "required": [
- "properties",
- "kind"
- ],
+ "ProviderShareSubscription": {
+ "description": "A provider side share subscription data transfer object.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/KustoClusterDataSetProperties",
- "description": "Kusto cluster data set properties.",
+ "$ref": "#/definitions/ProviderShareSubscriptionProperties",
+ "description": "properties of providerShareSubscription",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "KustoCluster"
+ }
},
- "KustoClusterDataSetProperties": {
- "description": "Properties of the kusto cluster data set.",
+ "ProviderShareSubscriptionList": {
+ "description": "List response for get ShareSubscription.",
"required": [
- "kustoClusterResourceId"
+ "value"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProviderShareSubscription"
+ }
+ }
+ }
+ },
+ "ProviderShareSubscriptionProperties": {
+ "description": "Provider share subscription properties",
+ "type": "object",
+ "properties": {
+ "consumerEmail": {
+ "description": "Email of the consumer who created the share subscription",
"type": "string",
"readOnly": true
},
- "kustoClusterResourceId": {
- "description": "Resource id of the kusto cluster.",
- "type": "string"
+ "consumerName": {
+ "description": "Name of the consumer who created the share subscription",
+ "type": "string",
+ "readOnly": true
},
- "location": {
- "description": "Location of the kusto cluster.",
+ "consumerTenantName": {
+ "description": "Tenant name of the consumer who created the share subscription",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the kusto cluster data set.",
+ "createdAt": {
+ "format": "date-time",
+ "description": "created at",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerEmail": {
+ "description": "Email of the provider who created the share",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerName": {
+ "description": "Name of the provider who created the share",
+ "type": "string",
+ "readOnly": true
+ },
+ "sharedAt": {
+ "format": "date-time",
+ "description": "Shared at",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareSubscriptionObjectId": {
+ "description": "share Subscription Object Id",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareSubscriptionStatus": {
+ "description": "Gets the status of share subscription",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Active",
+ "Revoked",
+ "SourceDeleted",
+ "Revoking"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "shareSubscriptionStatus",
"modelAsString": true
}
}
}
},
- "KustoDatabaseDataSet": {
- "description": "A kusto database data set.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSet"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/KustoDatabaseDataSetProperties",
- "description": "Kusto database data set properties.",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "KustoDatabase"
- },
- "KustoDatabaseDataSetProperties": {
- "description": "Properties of the kusto database data set.",
- "required": [
- "kustoDatabaseResourceId"
- ],
+ "ProxyDto": {
+ "description": "Base data transfer object implementation for proxy resources.",
"type": "object",
"properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "id": {
+ "description": "The resource id of the azure resource",
"type": "string",
"readOnly": true
},
- "kustoDatabaseResourceId": {
- "description": "Resource id of the kusto database.",
- "type": "string"
- },
- "location": {
- "description": "Location of the kusto cluster.",
+ "name": {
+ "description": "Name of the azure resource",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the kusto database data set.",
+ "type": {
+ "description": "Type of the azure resource",
+ "type": "string",
+ "readOnly": true
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "ScheduledSourceShareSynchronizationSettingProperties": {
+ "description": "A Scheduled source synchronization setting data transfer object.",
+ "type": "object",
+ "properties": {
+ "recurrenceInterval": {
+ "description": "Recurrence Interval",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Hour",
+ "Day"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "recurrenceInterval",
"modelAsString": true
}
+ },
+ "synchronizationTime": {
+ "format": "date-time",
+ "description": "Synchronization time",
+ "type": "string"
}
}
},
- "SqlDWTableDataSet": {
- "description": "A SQL DW table data set.",
+ "ScheduledSourceSynchronizationSetting": {
+ "description": "A type of synchronization setting based on schedule",
"required": [
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/SourceShareSynchronizationSetting"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/SqlDWTableProperties",
- "description": "SQL DW table data set properties.",
+ "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties",
+ "description": "Properties of scheduled synchronization",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "SqlDWTable"
- },
- "SqlDWTableProperties": {
- "description": "Properties of the SQL DW table data set.",
- "required": [
- "dataWarehouseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId"
- ],
- "type": "object",
- "properties": {
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
- "type": "string",
- "readOnly": true
- },
- "dataWarehouseName": {
- "description": "DataWarehouse name of the source data set",
- "type": "string"
- },
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
- },
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
- },
- "tableName": {
- "description": "SQL DW table name.",
- "type": "string"
- }
- }
+ "x-ms-discriminator-value": "ScheduleBased"
},
- "SqlDBTableDataSet": {
- "description": "A SQL DB table data set.",
+ "ScheduledSynchronizationSetting": {
+ "description": "A type of synchronization setting based on schedule",
"required": [
+ "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSet"
+ "$ref": "#/definitions/SynchronizationSetting"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/SqlDBTableProperties",
- "description": "SQL DB table data set properties.",
+ "$ref": "#/definitions/ScheduledSynchronizationSettingProperties",
+ "description": "Properties of scheduled synchronization",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "SqlDBTable"
+ "x-ms-discriminator-value": "ScheduleBased"
},
- "SqlDBTableProperties": {
- "description": "Properties of the SQL DB table data set.",
+ "ScheduledSynchronizationSettingProperties": {
+ "description": "A Scheduled synchronization setting data transfer object.",
"required": [
- "databaseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId"
+ "recurrenceInterval",
+ "synchronizationTime"
],
"type": "object",
"properties": {
- "databaseName": {
- "description": "Database name of the source data set",
- "type": "string"
- },
- "dataSetId": {
- "description": "Unique id for identifying a data set resource",
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the synchronization setting was created.",
"type": "string",
"readOnly": true
},
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
+ "provisioningState": {
+ "description": "Gets or sets the provisioning state",
+ "enum": [
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ }
},
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
+ "recurrenceInterval": {
+ "description": "Recurrence Interval",
+ "enum": [
+ "Hour",
+ "Day"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "recurrenceInterval",
+ "modelAsString": true
+ }
},
- "tableName": {
- "description": "SQL DB table name.",
+ "synchronizationTime": {
+ "format": "date-time",
+ "description": "Synchronization time",
"type": "string"
+ },
+ "userName": {
+ "description": "Name of the user who created the synchronization setting.",
+ "type": "string",
+ "readOnly": true
}
}
},
- "BlobDataSetMapping": {
- "description": "A Blob data set mapping.",
+ "ScheduledTrigger": {
+ "description": "A type of trigger based on schedule",
"required": [
"properties",
"kind"
@@ -5414,157 +5438,151 @@
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/Trigger"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobMappingProperties",
- "description": "Blob data set mapping properties.",
+ "$ref": "#/definitions/ScheduledTriggerProperties",
+ "description": "Properties of scheduled synchronization",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "Blob"
+ "x-ms-discriminator-value": "ScheduleBased"
},
- "BlobMappingProperties": {
- "description": "Azure storage Blob data set mapping property bag.",
+ "ScheduledTriggerProperties": {
+ "description": "A Scheduled trigger data transfer object.",
"required": [
- "containerName",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "recurrenceInterval",
+ "synchronizationTime"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the trigger was created.",
+ "type": "string",
+ "readOnly": true
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
+ "provisioningState": {
+ "description": "Gets the provisioning state",
"enum": [
- "Ok",
- "Broken"
+ "Succeeded",
+ "Creating",
+ "Deleting",
+ "Moving",
+ "Failed"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "dataSetMappingStatus",
+ "name": "provisioningState",
"modelAsString": true
}
},
- "filePath": {
- "description": "File path within the source data set",
- "type": "string"
- },
- "outputType": {
- "description": "File output type",
+ "recurrenceInterval": {
+ "description": "Recurrence Interval",
"enum": [
- "Csv",
- "Parquet"
+ "Hour",
+ "Day"
],
"type": "string",
"x-ms-enum": {
- "name": "outputType",
+ "name": "recurrenceInterval",
"modelAsString": true
}
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "synchronizationMode": {
+ "description": "Synchronization mode",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Incremental",
+ "FullSync"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "synchronizationMode",
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
+ "synchronizationTime": {
+ "format": "date-time",
+ "description": "Synchronization time",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
+ "triggerStatus": {
+ "description": "Gets the trigger state",
+ "enum": [
+ "Active",
+ "Inactive",
+ "SourceSynchronizationSettingDeleted"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "triggerStatus",
+ "modelAsString": true
+ }
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
+ "userName": {
+ "description": "Name of the user who created the trigger.",
+ "type": "string",
+ "readOnly": true
}
}
},
- "BlobFolderDataSetMapping": {
- "description": "A Blob folder data set mapping.",
- "required": [
- "properties",
- "kind"
- ],
+ "Share": {
+ "description": "A share data transfer object.",
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobFolderMappingProperties",
- "description": "Blob folder data set mapping properties.",
+ "$ref": "#/definitions/ShareProperties",
+ "description": "Properties on the share",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "BlobFolder"
+ }
},
- "BlobFolderMappingProperties": {
- "description": "Azure storage Blob folder data set mapping property bag.",
+ "ShareList": {
+ "description": "List response for get Shares.",
"required": [
- "containerName",
- "prefix",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "Container that has the file path.",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Share"
}
+ }
+ }
+ },
+ "ShareProperties": {
+ "description": "Share property bag.",
+ "type": "object",
+ "properties": {
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the share was created.",
+ "type": "string",
+ "readOnly": true
},
- "prefix": {
- "description": "Prefix for blob folder",
+ "description": {
+ "description": "Share description.",
"type": "string"
},
"provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "description": "Gets or sets the provisioning state",
"enum": [
"Succeeded",
"Creating",
@@ -5579,75 +5597,109 @@
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
+ "shareKind": {
+ "description": "Share kind.",
+ "enum": [
+ "CopyBased",
+ "InPlace"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "shareKind",
+ "modelAsString": true
+ }
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
+ "terms": {
+ "description": "Share terms.",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "userName": {
+ "description": "Name of the user who created the resource",
+ "type": "string",
+ "readOnly": true
}
}
},
- "BlobContainerDataSetMapping": {
- "description": "A Blob container data set mapping.",
+ "ShareSubscription": {
+ "description": "A share subscription data transfer object.",
"required": [
- "properties",
- "kind"
+ "properties"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
"properties": {
- "$ref": "#/definitions/BlobContainerMappingProperties",
- "description": "Blob container data set mapping properties.",
+ "$ref": "#/definitions/ShareSubscriptionProperties",
+ "description": "Properties on the share subscription",
"x-ms-client-flatten": true
}
- },
- "x-ms-discriminator-value": "Container"
+ }
},
- "BlobContainerMappingProperties": {
- "description": "Azure storage Blob container data set mapping property bag.",
+ "ShareSubscriptionList": {
+ "description": "List response for get ShareSubscription.",
"required": [
- "containerName",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "containerName": {
- "description": "BLOB Container name.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "dataSetId": {
- "description": "The id of the source data set.",
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareSubscription"
+ }
+ }
+ }
+ },
+ "ShareSubscriptionProperties": {
+ "description": "Share subscription property bag.",
+ "required": [
+ "invitationId",
+ "sourceShareLocation"
+ ],
+ "type": "object",
+ "properties": {
+ "createdAt": {
+ "format": "date-time",
+ "description": "Time at which the share subscription was created.",
+ "type": "string",
+ "readOnly": true
+ },
+ "invitationId": {
+ "description": "The invitation id.",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
+ "providerEmail": {
+ "description": "Email of the provider who created the resource",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
+ "readOnly": true
+ },
+ "providerName": {
+ "description": "Name of the provider who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "providerTenantName": {
+ "description": "Tenant name of the provider who created the resource",
+ "type": "string",
+ "readOnly": true
},
"provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "description": "Provisioning state of the share subscription",
"enum": [
"Succeeded",
"Creating",
@@ -5662,210 +5714,283 @@
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
+ "shareDescription": {
+ "description": "Description of share",
+ "type": "string",
+ "readOnly": true
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
+ "shareKind": {
+ "description": "Kind of share",
+ "enum": [
+ "CopyBased",
+ "InPlace"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "shareKind",
+ "modelAsString": true
+ }
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
+ "shareName": {
+ "description": "Name of the share",
+ "type": "string",
+ "readOnly": true
+ },
+ "shareSubscriptionStatus": {
+ "description": "Gets the current status of share subscription.",
+ "enum": [
+ "Active",
+ "Revoked",
+ "SourceDeleted",
+ "Revoking"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "shareSubscriptionStatus",
+ "modelAsString": true
+ }
+ },
+ "shareTerms": {
+ "description": "Terms of a share",
+ "type": "string",
+ "readOnly": true
+ },
+ "sourceShareLocation": {
+ "description": "Source share location.",
"type": "string"
+ },
+ "userEmail": {
+ "description": "Email of the user who created the resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "userName": {
+ "description": "Name of the user who created the resource",
+ "type": "string",
+ "readOnly": true
}
}
},
- "ADLSGen2FileDataSetMapping": {
- "description": "An ADLS Gen2 file data set mapping.",
+ "ShareSubscriptionSynchronization": {
+ "description": "A ShareSubscriptionSynchronization data transfer object.",
"required": [
- "properties",
- "kind"
+ "synchronizationId"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FileDataSetMappingProperties",
- "description": "ADLS Gen2 file data set mapping properties.",
- "x-ms-client-flatten": true
+ "durationMs": {
+ "format": "int32",
+ "description": "Synchronization duration",
+ "type": "integer",
+ "readOnly": true
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of synchronization",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "message of Synchronization",
+ "type": "string",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "start time of synchronization",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Raw Status",
+ "type": "string",
+ "readOnly": true
+ },
+ "synchronizationId": {
+ "description": "Synchronization id",
+ "type": "string"
+ },
+ "synchronizationMode": {
+ "description": "Synchronization Mode",
+ "enum": [
+ "Incremental",
+ "FullSync"
+ ],
+ "type": "string",
+ "readOnly": true,
+ "x-ms-enum": {
+ "name": "synchronizationMode",
+ "modelAsString": true
+ }
}
- },
- "x-ms-discriminator-value": "AdlsGen2File"
+ }
},
- "ADLSGen2FileDataSetMappingProperties": {
- "description": "ADLS Gen 2 file data set mapping property bag.",
+ "ShareSubscriptionSynchronizationList": {
+ "description": "A consumer side list of share subscription synchronizations",
"required": [
- "fileSystem",
- "filePath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "The id of the source data set.",
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareSubscriptionSynchronization"
+ }
+ }
+ }
+ },
+ "ShareSynchronization": {
+ "description": "A ShareSynchronization data transfer object.",
+ "type": "object",
+ "properties": {
+ "consumerEmail": {
+ "description": "Email of the user who created the synchronization",
+ "type": "string"
+ },
+ "consumerName": {
+ "description": "Name of the user who created the synchronization",
+ "type": "string"
+ },
+ "consumerTenantName": {
+ "description": "Tenant name of the consumer who created the synchronization",
+ "type": "string"
+ },
+ "durationMs": {
+ "format": "int32",
+ "description": "synchronization duration",
+ "type": "integer"
+ },
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of synchronization",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
+ "message": {
+ "description": "message of synchronization",
+ "type": "string"
},
- "filePath": {
- "description": "File path within the file system.",
+ "startTime": {
+ "format": "date-time",
+ "description": "start time of synchronization",
"type": "string"
},
- "fileSystem": {
- "description": "File system to which the file belongs.",
+ "status": {
+ "description": "Raw Status",
"type": "string"
},
- "outputType": {
- "description": "Type of output file",
- "enum": [
- "Csv",
- "Parquet"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "outputType",
- "modelAsString": true
- }
+ "synchronizationId": {
+ "description": "Synchronization id",
+ "type": "string"
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ "synchronizationMode": {
+ "description": "Synchronization mode",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Incremental",
+ "FullSync"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "synchronizationMode",
"modelAsString": true
}
- },
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
- },
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
}
}
},
- "ADLSGen2FolderDataSetMapping": {
- "description": "An ADLS Gen2 folder data set mapping.",
+ "ShareSynchronizationList": {
+ "description": "List response for get ShareSynchronization.",
"required": [
- "properties",
- "kind"
+ "value"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/ADLSGen2FolderDataSetMappingProperties",
- "description": "ADLS Gen2 folder data set mapping properties.",
- "x-ms-client-flatten": true
+ "nextLink": {
+ "description": "The Url of next result page.",
+ "type": "string"
+ },
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ShareSynchronization"
+ }
}
- },
- "x-ms-discriminator-value": "AdlsGen2Folder"
+ }
},
- "ADLSGen2FolderDataSetMappingProperties": {
- "description": "ADLS Gen 2 folder data set mapping property bag.",
+ "SourceShareSynchronizationSetting": {
+ "description": "A view of synchronization setting added by the provider",
"required": [
- "fileSystem",
- "folderPath",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
- "dataSetId"
+ "kind"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
- },
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
+ "kind": {
+ "description": "Kind of synchronization",
"enum": [
- "Ok",
- "Broken"
+ "ScheduleBased"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "dataSetMappingStatus",
+ "name": "kind",
"modelAsString": true
}
- },
- "fileSystem": {
- "description": "File system to which the folder belongs.",
- "type": "string"
- },
- "folderPath": {
- "description": "Folder path within the file system.",
+ }
+ },
+ "discriminator": "kind"
+ },
+ "SourceShareSynchronizationSettingList": {
+ "description": "List response for get source share Synchronization settings",
+ "required": [
+ "value"
+ ],
+ "type": "object",
+ "properties": {
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SourceShareSynchronizationSetting"
}
- },
- "resourceGroup": {
- "description": "Resource group of storage account.",
- "type": "string"
- },
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
- "type": "string"
- },
- "subscriptionId": {
- "description": "Subscription id of storage account.",
- "type": "string"
}
}
},
- "ADLSGen2FileSystemDataSetMapping": {
- "description": "An ADLS Gen2 file system data set mapping.",
+ "SqlDBTableDataSet": {
+ "description": "A SQL DB table data set.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDBTableProperties",
+ "description": "SQL DB table data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDBTable"
+ },
+ "SqlDBTableDataSetMapping": {
+ "description": "A SQL DB Table data set mapping.",
"required": [
"properties",
"kind"
@@ -5878,24 +6003,28 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/ADLSGen2FileSystemDataSetMappingProperties",
- "description": "ADLS Gen2 file system data set mapping properties.",
+ "$ref": "#/definitions/SqlDBTableDataSetMappingProperties",
+ "description": "Sql DB data set mapping properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "AdlsGen2FileSystem"
+ "x-ms-discriminator-value": "SqlDBTable"
},
- "ADLSGen2FileSystemDataSetMappingProperties": {
- "description": "ADLS Gen 2 file system data set mapping property bag.",
+ "SqlDBTableDataSetMappingProperties": {
+ "description": "Properties of the SQL DB table data set mapping.",
"required": [
- "fileSystem",
- "subscriptionId",
- "resourceGroup",
- "storageAccountName",
+ "databaseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId",
"dataSetId"
],
"type": "object",
"properties": {
+ "databaseName": {
+ "description": "DatabaseName name of the sink data set",
+ "type": "string"
+ },
"dataSetId": {
"description": "The id of the source data set.",
"type": "string"
@@ -5913,10 +6042,6 @@
"modelAsString": true
}
},
- "fileSystem": {
- "description": "The file system name.",
- "type": "string"
- },
"provisioningState": {
"description": "Provisioning state of the data set mapping.",
"enum": [
@@ -5933,22 +6058,75 @@
"modelAsString": true
}
},
- "resourceGroup": {
- "description": "Resource group of storage account.",
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DB table name.",
+ "type": "string"
+ }
+ }
+ },
+ "SqlDBTableProperties": {
+ "description": "Properties of the SQL DB table data set.",
+ "required": [
+ "databaseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId"
+ ],
+ "type": "object",
+ "properties": {
+ "databaseName": {
+ "description": "Database name of the source data set",
+ "type": "string"
+ },
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
"type": "string"
},
- "storageAccountName": {
- "description": "Storage account name of the source data set.",
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
"type": "string"
},
- "subscriptionId": {
- "description": "Subscription id of storage account.",
+ "tableName": {
+ "description": "SQL DB table name.",
"type": "string"
}
}
},
- "KustoClusterDataSetMapping": {
- "description": "A Kusto cluster data set mapping",
+ "SqlDWTableDataSet": {
+ "description": "A SQL DW table data set.",
+ "required": [
+ "kind"
+ ],
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "#/definitions/DataSet"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/SqlDWTableProperties",
+ "description": "SQL DW table data set properties.",
+ "x-ms-client-flatten": true
+ }
+ },
+ "x-ms-discriminator-value": "SqlDWTable"
+ },
+ "SqlDWTableDataSetMapping": {
+ "description": "A SQL DW Table data set mapping.",
"required": [
"properties",
"kind"
@@ -5961,17 +6139,20 @@
],
"properties": {
"properties": {
- "$ref": "#/definitions/KustoClusterDataSetMappingProperties",
- "description": "Kusto cluster data set mapping properties.",
+ "$ref": "#/definitions/SqlDWTableDataSetMappingProperties",
+ "description": "Sql DW data set mapping properties.",
"x-ms-client-flatten": true
}
},
- "x-ms-discriminator-value": "KustoCluster"
+ "x-ms-discriminator-value": "SqlDWTable"
},
- "KustoClusterDataSetMappingProperties": {
- "description": "Properties of the Kusto cluster data set mapping",
+ "SqlDWTableDataSetMappingProperties": {
+ "description": "Properties of the SQL DW table data set mapping.",
"required": [
- "kustoClusterResourceId",
+ "dataWarehouseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId",
"dataSetId"
],
"type": "object",
@@ -5993,15 +6174,10 @@
"modelAsString": true
}
},
- "kustoClusterResourceId": {
- "description": "Resource id of the sink kusto cluster.",
+ "dataWarehouseName": {
+ "description": "DataWarehouse name of the source data set",
"type": "string"
},
- "location": {
- "description": "Location of the sink kusto cluster.",
- "type": "string",
- "readOnly": true
- },
"provisioningState": {
"description": "Provisioning state of the data set mapping.",
"enum": [
@@ -6017,345 +6193,295 @@
"name": "provisioningState",
"modelAsString": true
}
+ },
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DW table name.",
+ "type": "string"
}
}
},
- "KustoDatabaseDataSetMapping": {
- "description": "A Kusto database data set mapping",
+ "SqlDWTableProperties": {
+ "description": "Properties of the SQL DW table data set.",
"required": [
- "properties",
- "kind"
+ "dataWarehouseName",
+ "tableName",
+ "schemaName",
+ "sqlServerResourceId"
],
"type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
"properties": {
- "properties": {
- "$ref": "#/definitions/KustoDatabaseDataSetMappingProperties",
- "description": "Kusto database data set mapping properties.",
- "x-ms-client-flatten": true
+ "dataSetId": {
+ "description": "Unique id for identifying a data set resource",
+ "type": "string",
+ "readOnly": true
+ },
+ "dataWarehouseName": {
+ "description": "DataWarehouse name of the source data set",
+ "type": "string"
+ },
+ "schemaName": {
+ "description": "Schema of the table. Default value is dbo.",
+ "type": "string"
+ },
+ "sqlServerResourceId": {
+ "description": "Resource id of SQL server",
+ "type": "string"
+ },
+ "tableName": {
+ "description": "SQL DW table name.",
+ "type": "string"
}
- },
- "x-ms-discriminator-value": "KustoDatabase"
+ }
},
- "KustoDatabaseDataSetMappingProperties": {
- "description": "Properties of the Kusto database data set mapping",
- "required": [
- "kustoClusterResourceId",
- "dataSetId"
- ],
+ "SynchronizationDetails": {
+ "description": "Synchronization details at data set level",
"type": "object",
"properties": {
"dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
+ "description": "Id of data set",
+ "type": "string",
+ "readOnly": true
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
+ "dataSetType": {
+ "description": "Type of the data set",
"enum": [
- "Ok",
- "Broken"
+ "Blob",
+ "Container",
+ "BlobFolder",
+ "AdlsGen2FileSystem",
+ "AdlsGen2Folder",
+ "AdlsGen2File",
+ "AdlsGen1Folder",
+ "AdlsGen1File",
+ "KustoCluster",
+ "KustoDatabase",
+ "SqlDBTable",
+ "SqlDWTable"
],
"type": "string",
"readOnly": true,
"x-ms-enum": {
- "name": "dataSetMappingStatus",
+ "name": "dataSetType",
"modelAsString": true
}
},
- "kustoClusterResourceId": {
- "description": "Resource id of the sink kusto cluster.",
- "type": "string"
+ "durationMs": {
+ "format": "int32",
+ "description": "Duration of data set level copy",
+ "type": "integer",
+ "readOnly": true
},
- "location": {
- "description": "Location of the sink kusto cluster.",
+ "endTime": {
+ "format": "date-time",
+ "description": "End time of data set level copy",
"type": "string",
"readOnly": true
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
+ "filesRead": {
+ "format": "int64",
+ "description": "The number of files read from the source data set",
+ "type": "integer",
+ "readOnly": true
+ },
+ "filesWritten": {
+ "format": "int64",
+ "description": "The number of files written into the sink data set",
+ "type": "integer",
+ "readOnly": true
+ },
+ "message": {
+ "description": "Error message if any",
"type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
- }
- }
- }
- },
- "SqlDWTableDataSetMapping": {
- "description": "A SQL DW Table data set mapping.",
- "required": [
- "properties",
- "kind"
- ],
- "type": "object",
- "allOf": [
- {
- "$ref": "#/definitions/DataSetMapping"
- }
- ],
- "properties": {
- "properties": {
- "$ref": "#/definitions/SqlDWTableDataSetMappingProperties",
- "description": "Sql DW data set mapping properties.",
- "x-ms-client-flatten": true
+ "readOnly": true
+ },
+ "name": {
+ "description": "Name of the data set",
+ "type": "string",
+ "readOnly": true
+ },
+ "rowsCopied": {
+ "format": "int64",
+ "description": "The number of files copied into the sink data set",
+ "type": "integer",
+ "readOnly": true
+ },
+ "rowsRead": {
+ "format": "int64",
+ "description": "The number of rows read from the source data set.",
+ "type": "integer",
+ "readOnly": true
+ },
+ "sizeRead": {
+ "format": "int64",
+ "description": "The size of the data read from the source data set in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "sizeWritten": {
+ "format": "int64",
+ "description": "The size of the data written into the sink data set in bytes",
+ "type": "integer",
+ "readOnly": true
+ },
+ "startTime": {
+ "format": "date-time",
+ "description": "Start time of data set level copy",
+ "type": "string",
+ "readOnly": true
+ },
+ "status": {
+ "description": "Raw Status",
+ "type": "string",
+ "readOnly": true
+ },
+ "vCore": {
+ "format": "int64",
+ "description": "The vCore units consumed for the data set synchronization",
+ "type": "integer",
+ "readOnly": true
}
- },
- "x-ms-discriminator-value": "SqlDWTable"
+ }
},
- "SqlDWTableDataSetMappingProperties": {
- "description": "Properties of the SQL DW table data set mapping.",
+ "SynchronizationDetailsList": {
+ "description": "details of synchronization",
"required": [
- "dataWarehouseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "dataSetId": {
- "description": "The id of the source data set.",
- "type": "string"
- },
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
- }
- },
- "dataWarehouseName": {
- "description": "DataWarehouse name of the source data set",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
- "enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "provisioningState",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SynchronizationDetails"
}
- },
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
- },
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
- },
- "tableName": {
- "description": "SQL DW table name.",
- "type": "string"
}
}
},
- "SqlDBTableDataSetMapping": {
- "description": "A SQL DB Table data set mapping.",
+ "SynchronizationSetting": {
+ "description": "A Synchronization Setting data transfer object.",
"required": [
- "properties",
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/DataSetMapping"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
- "properties": {
- "$ref": "#/definitions/SqlDBTableDataSetMappingProperties",
- "description": "Sql DB data set mapping properties.",
- "x-ms-client-flatten": true
+ "kind": {
+ "description": "Kind of synchronization",
+ "enum": [
+ "ScheduleBased"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ }
}
},
- "x-ms-discriminator-value": "SqlDBTable"
+ "discriminator": "kind"
},
- "SqlDBTableDataSetMappingProperties": {
- "description": "Properties of the SQL DB table data set mapping.",
+ "SynchronizationSettingList": {
+ "description": "List response for get Synchronization settings",
"required": [
- "databaseName",
- "tableName",
- "schemaName",
- "sqlServerResourceId",
- "dataSetId"
+ "value"
],
"type": "object",
"properties": {
- "databaseName": {
- "description": "DatabaseName name of the sink data set",
- "type": "string"
- },
- "dataSetId": {
- "description": "The id of the source data set.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "dataSetMappingStatus": {
- "description": "Gets the status of the data set mapping.",
- "enum": [
- "Ok",
- "Broken"
- ],
- "type": "string",
- "readOnly": true,
- "x-ms-enum": {
- "name": "dataSetMappingStatus",
- "modelAsString": true
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SynchronizationSetting"
}
- },
- "provisioningState": {
- "description": "Provisioning state of the data set mapping.",
+ }
+ }
+ },
+ "Synchronize": {
+ "description": "Payload for the synchronizing the data.",
+ "type": "object",
+ "properties": {
+ "synchronizationMode": {
+ "description": "Mode of synchronization used in triggers and snapshot sync. Incremental by default",
"enum": [
- "Succeeded",
- "Creating",
- "Deleting",
- "Moving",
- "Failed"
+ "Incremental",
+ "FullSync"
],
"type": "string",
- "readOnly": true,
"x-ms-enum": {
- "name": "provisioningState",
+ "name": "synchronizationMode",
"modelAsString": true
}
- },
- "schemaName": {
- "description": "Schema of the table. Default value is dbo.",
- "type": "string"
- },
- "sqlServerResourceId": {
- "description": "Resource id of SQL server",
- "type": "string"
- },
- "tableName": {
- "description": "SQL DB table name.",
- "type": "string"
}
}
},
- "ScheduledSourceSynchronizationSetting": {
- "description": "A type of synchronization setting based on schedule",
+ "Trigger": {
+ "description": "A Trigger data transfer object.",
"required": [
"kind"
],
"type": "object",
"allOf": [
{
- "$ref": "#/definitions/SourceShareSynchronizationSetting"
+ "$ref": "#/definitions/ProxyDto"
}
],
"properties": {
- "properties": {
- "$ref": "#/definitions/ScheduledSourceShareSynchronizationSettingProperties",
- "description": "Properties of scheduled synchronization",
- "x-ms-client-flatten": true
- }
- },
- "x-ms-discriminator-value": "ScheduleBased"
- },
- "ScheduledSourceShareSynchronizationSettingProperties": {
- "description": "A Scheduled source synchronization setting data transfer object.",
- "type": "object",
- "properties": {
- "recurrenceInterval": {
- "description": "Recurrence Interval",
+ "kind": {
+ "description": "Kind of synchronization",
"enum": [
- "Hour",
- "Day"
+ "ScheduleBased"
],
"type": "string",
"x-ms-enum": {
- "name": "recurrenceInterval",
+ "name": "kind",
"modelAsString": true
}
- },
- "synchronizationTime": {
- "format": "date-time",
- "description": "Synchronization time",
- "type": "string"
}
- }
+ },
+ "discriminator": "kind"
},
- "DefaultDto": {
- "description": "Base data transfer object implementation for default resources.",
+ "TriggerList": {
+ "description": "List response for get triggers",
+ "required": [
+ "value"
+ ],
"type": "object",
"properties": {
- "id": {
- "description": "The resource id of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "location": {
- "description": "Location of the azure resource.",
+ "nextLink": {
+ "description": "The Url of next result page.",
"type": "string"
},
- "name": {
- "description": "Name of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "tags": {
- "description": "Tags on the azure resource.",
- "type": "object",
- "additionalProperties": {
- "type": "string"
+ "value": {
+ "description": "Collection of items of type DataTransferObjects.",
+ "uniqueItems": false,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Trigger"
}
- },
- "type": {
- "description": "Type of the azure resource",
- "type": "string",
- "readOnly": true
- }
- },
- "x-ms-azure-resource": true
- },
- "ProxyDto": {
- "description": "Base data transfer object implementation for proxy resources.",
- "type": "object",
- "properties": {
- "id": {
- "description": "The resource id of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "name": {
- "description": "Name of the azure resource",
- "type": "string",
- "readOnly": true
- },
- "type": {
- "description": "Type of the azure resource",
- "type": "string",
- "readOnly": true
}
- },
- "x-ms-azure-resource": true
+ }
}
},
"parameters": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSetMappings_ListByShareSubscription.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSetMappings_ListByShareSubscription.json
index 766f8839e019..28aca6471ed5 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSetMappings_ListByShareSubscription.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSetMappings_ListByShareSubscription.json
@@ -4,7 +4,9 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareSubscriptionName": "ShareSubscription1",
- "api-version": "2019-11-01"
+ "api-version": "2019-11-01",
+ "filter": "name eq 'DatasetMapping1'",
+ "orderBy": "name"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_Delete.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_Delete.json
index 641ad9cf412d..eb9de395544c 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_Delete.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_Delete.json
@@ -5,7 +5,7 @@
"accountName": "Account1",
"shareName": "Share1",
"dataSetName": "Dataset1",
- "api-version": "2018-11-01-preview"
+ "api-version": "2019-11-01"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_ListByShare.json
index 36c4e851679d..a0052319a8cf 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_ListByShare.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/DataSets_ListByShare.json
@@ -4,7 +4,9 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareName": "Share1",
- "api-version": "2019-11-01"
+ "api-version": "2019-11-01",
+ "filter": "name eq 'Dataset1'",
+ "orderBy": "name"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Invitations_ListByShare.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Invitations_ListByShare.json
index 70614c24e56c..95763c961d21 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Invitations_ListByShare.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Invitations_ListByShare.json
@@ -4,7 +4,9 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareName": "Share1",
- "api-version": "2019-11-01"
+ "api-version": "2019-11-01",
+ "filter": "properties/targetEmail eq 'johnsmith@microsoft.com'",
+ "orderBy": "properties/sentAt"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListByAccount.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListByAccount.json
index 07bb2915ddbb..7da7cb2609d4 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListByAccount.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListByAccount.json
@@ -3,7 +3,9 @@
"subscriptionId": "12345678-1234-1234-12345678abc",
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
- "api-version": "2019-11-01"
+ "api-version": "2019-11-01",
+ "filter": "name eq 'ShareSubscription1'",
+ "orderBy": "properties/createdAt"
},
"responses": {
"200": {
@@ -40,7 +42,7 @@
"properties": {
"userName": "John Smith",
"userEmail": "john.smith@microsoft.com",
- "createdAt": "2019-01-17T22:32:36.8185016Z",
+ "createdAt": "2020-12-17T22:32:36.8185016Z",
"shareSubscriptionStatus": "Active",
"invitationId": "4256e2cf-0f82-4865-961b-12f83333f487",
"sourceShareLocation": "eastus2",
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizationDetails.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizationDetails.json
index efc6af9f2b8f..f36e62ee1d83 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizationDetails.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizationDetails.json
@@ -7,7 +7,9 @@
"shareSubscriptionSynchronization": {
"synchronizationId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"
},
- "api-version": "2019-11-01"
+ "api-version": "2019-11-01",
+ "filter": "name eq 'datasetmapping1'",
+ "orderBy": "durationMs"
},
"responses": {
"200": {
@@ -25,7 +27,7 @@
"startTime": "2018-11-14T04:47:52.9614956Z",
"durationMs": 2000,
"status": "Completed",
- "name": "dataset1",
+ "name": "datasetmapping1",
"dataSetId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb",
"dataSetType": "Blob"
}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizations.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizations.json
index 362b27eacc89..616d3a6bea85 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizations.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/ShareSubscriptions_ListSynchronizations.json
@@ -4,7 +4,8 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareSubscriptionName": "ShareSub1",
- "api-version": "2019-11-01"
+ "api-version": "2019-11-01",
+ "orderBy": "durationMs"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListByAccount.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListByAccount.json
index 531af3d38a42..4aef3c8dc324 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListByAccount.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListByAccount.json
@@ -3,7 +3,9 @@
"subscriptionId": "12345678-1234-1234-12345678abc",
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
- "api-version": "2019-11-01"
+ "api-version": "2019-11-01",
+ "filter": "name eq 'Share1'",
+ "orderBy": "properties/createdAt"
},
"responses": {
"200": {
@@ -35,7 +37,7 @@
"terms": "Confidential",
"shareKind": "CopyBased",
"userName": "John Smith",
- "createdAt": "2018-11-14T06:15:15.6818898Z",
+ "createdAt": "2019-10-14T06:15:15.6818898Z",
"userEmail": "johnsmith@microsoft.com"
},
"id": "/subscriptions/433a8dfd-e5d5-4e77-ad86-90acdc75eb1a/resourceGroups/SampleResourceGroup/providers/Microsoft.DataShare/accounts/Account1/shares/Share1",
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizationDetails.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizationDetails.json
index 0d5883c6bea3..b320c7278776 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizationDetails.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizationDetails.json
@@ -7,7 +7,9 @@
"shareSynchronization": {
"synchronizationId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb"
},
- "api-version": "2019-11-01"
+ "api-version": "2019-11-01",
+ "filter": "name eq 'dataset1'",
+ "orderBy": "durationMs"
},
"responses": {
"200": {
@@ -28,6 +30,15 @@
"name": "dataset1",
"dataSetId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb",
"dataSetType": "Blob"
+ },
+ {
+ "endTime": "2019-10-14T04:47:52.9614956Z",
+ "startTime": "2019-10-14T04:47:52.9614956Z",
+ "durationMs": 2000,
+ "status": "Completed",
+ "name": "dataset2",
+ "dataSetId": "7d0536a6-3fa5-43de-b152-3d07c4f6b2bb",
+ "dataSetType": "Blob"
}
]
}
diff --git a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizations.json b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizations.json
index 633e2acd8f3d..88b0b7efaaa2 100644
--- a/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizations.json
+++ b/specification/datashare/resource-manager/Microsoft.DataShare/stable/2019-11-01/examples/Shares_ListSynchronizations.json
@@ -4,7 +4,8 @@
"resourceGroupName": "SampleResourceGroup",
"accountName": "Account1",
"shareName": "Share1",
- "api-version": "2019-11-01"
+ "api-version": "2019-11-01",
+ "filter": "consumerTenantName eq 'nda'"
},
"responses": {
"200": {
diff --git a/specification/datashare/resource-manager/readme.azureresourceschema.md b/specification/datashare/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..a0664f3ea80e
--- /dev/null
+++ b/specification/datashare/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-datashare-2019-11-01
+ - tag: schema-datashare-2018-11-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-datashare-2019-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-datashare-2019-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataShare/stable/2019-11-01/DataShare.json
+
+```
+
+### Tag: schema-datashare-2018-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-datashare-2018-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DataShare/preview/2018-11-01-preview/DataShare.json
+
+```
diff --git a/specification/datashare/resource-manager/readme.md b/specification/datashare/resource-manager/readme.md
index 5d1040195bd8..89da194dadc3 100644
--- a/specification/datashare/resource-manager/readme.md
+++ b/specification/datashare/resource-manager/readme.md
@@ -63,6 +63,10 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-go
- repo: azure-cli-extensions
+ - repo: azure-sdk-for-js
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js datashare/resource-manager
```
@@ -112,6 +116,10 @@ python:
See configuration in [readme.go.md](./readme.go.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/datashare/resource-manager/readme.trenton.md b/specification/datashare/resource-manager/readme.trenton.md
new file mode 100644
index 000000000000..a4e0699566a8
--- /dev/null
+++ b/specification/datashare/resource-manager/readme.trenton.md
@@ -0,0 +1,25 @@
+## overrides
+
+These settings apply only when `--trenton` is specified on the command line.
+``` yaml $(trenton)
+overrides:
+ - where:
+ resource: "*"
+ set:
+ - NeedSeparated: false
+ - where:
+ resource: "Accounts"
+ set:
+ - CombineCreateUpdate: false
+```
+## trenton
+
+These settings apply only when `--trenton` is specified on the command line.
+
+``` yaml $(trenton)
+trenton:
+ cli-name: dataShare
+ package-name: datashare
+clear-output-folder: true
+output-folder: $(trenton-output-folder)/datashare
+```
diff --git a/specification/deploymentmanager/resource-manager/readme.azureresourceschema.md b/specification/deploymentmanager/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..2502de8815f2
--- /dev/null
+++ b/specification/deploymentmanager/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-deploymentmanager-2019-11-01-preview
+ - tag: schema-deploymentmanager-2018-09-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-deploymentmanager-2019-11-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-deploymentmanager-2019-11-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DeploymentManager/preview/2019-11-01-preview/deploymentmanager.json
+
+```
+
+### Tag: schema-deploymentmanager-2018-09-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-deploymentmanager-2018-09-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DeploymentManager/preview/2018-09-01-preview/deploymentmanager.json
+
+```
diff --git a/specification/deploymentmanager/resource-manager/readme.md b/specification/deploymentmanager/resource-manager/readme.md
index fd8b13f1e887..4e01b0264c83 100644
--- a/specification/deploymentmanager/resource-manager/readme.md
+++ b/specification/deploymentmanager/resource-manager/readme.md
@@ -115,6 +115,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_deploymentmanager']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js deploymentmanager/resource-manager
```
## C#
@@ -199,6 +202,10 @@ regenerate-manager: true
generate-interface: true
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json
index 461026a2fdfa..ee6cfedd9ccb 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json
@@ -320,58 +320,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments": {
- "get": {
- "tags": [
- "ApplicationGroup"
- ],
- "operationId": "ApplicationGroupAssignments_WorkspaceLevelList",
- "description": "List application group that user can use.",
- "x-ms-examples": {
- "ApplicationGroupAssignment_WorkspaceLevelList": {
- "$ref": "./examples/ApplicationGroupAssignment_WorkspaceLevelList.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": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved user application group assignments in workspace.",
- "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}": {
"get": {
"tags": [
@@ -1598,61 +1546,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications": {
- "get": {
- "tags": [
- "Application"
- ],
- "operationId": "ActiveApplications_ListBySessionHost",
- "description": "List applications for the given session host.",
- "x-ms-examples": {
- "ActiveApplications_List": {
- "$ref": "./examples/ActiveApplication_ListBySessionHost.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": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved active applications in session host.",
- "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/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": {
"get": {
"tags": [
@@ -2190,8 +2083,8 @@
"type": "object",
"required": [
"hostPoolType",
- "personalDesktopAssignmentType",
- "loadBalancerType"
+ "loadBalancerType",
+ "preferredAppGroupType"
],
"properties": {
"friendlyName": {
@@ -2277,6 +2170,20 @@
"ssoContext": {
"type": "string",
"description": "Path to keyvault containing ssoContext secret."
+ },
+ "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
}
}
},
@@ -2360,6 +2267,19 @@
"ssoContext": {
"type": "string",
"description": "Path to keyvault containing ssoContext secret."
+ },
+ "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"
}
}
},
@@ -2778,6 +2698,16 @@
"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."
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ActiveApplication_ListBySessionHost.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ActiveApplication_ListBySessionHost.json
deleted file mode 100644
index 5df22a508d50..000000000000
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ActiveApplication_ListBySessionHost.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
- "resourceGroupName": "resourceGroup1",
- "hostPoolName": "hostPool1",
- "sessionHostName": "sessionHost1.microsoft.com",
- "api-version": "2019-01-23-preview",
- "$filter": "userPrincipalName eq 'user1@microsoft.com'"
- },
- "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",
- "properties": {
- "description": "des1",
- "friendlyName": "friendly",
- "filePath": "path",
- "commandLineSetting": "Allow",
- "commandLineArguments": "arguments",
- "showInPortal": true,
- "iconPath": "icon",
- "iconIndex": 1,
- "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
- "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
- }
- },
- {
- "name": "applicationGroup1/application2",
- "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2",
- "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
- "properties": {
- "description": "des2",
- "friendlyName": "friendly",
- "filePath": "path",
- "commandLineSetting": "Allow",
- "commandLineArguments": "arguments",
- "showInPortal": true,
- "iconPath": "icon",
- "iconIndex": 1,
- "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
- "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json
deleted file mode 100644
index 9846c97f6936..000000000000
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
- "resourceGroupName": "resourceGroup1",
- "workspaceName": "workspace1",
- "api-version": "2019-01-23-preview",
- "$filter": "userPrincipalName eq 'user1@microsoft.com'"
- },
- "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"
- },
- "properties": {
- "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"
- }
- },
- {
- "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"
- },
- "properties": {
- "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"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Create.json
index 1aa50229fc28..3c08b9ce934b 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Create.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Create.json
@@ -22,7 +22,8 @@
"expirationTime": "2008-09-22T14:01:54.9571247Z",
"resetToken": true
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
},
@@ -52,7 +53,8 @@
"token": "token",
"resetToken": true
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
},
@@ -81,7 +83,8 @@
"token": "token",
"resetToken": true
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Get.json
index 83915696ba13..d286a94ffd5c 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Get.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Get.json
@@ -31,7 +31,8 @@
"token": "token",
"resetToken": false
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_List.json
index 3b8929f94dd4..ae01bb585437 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_List.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_List.json
@@ -31,7 +31,8 @@
"token": "token",
"resetToken": false
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
},
{
@@ -58,7 +59,8 @@
"token": "token",
"resetToken": false
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
]
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_ListByResourceGroup.json
index e8ad41224d96..9b804e395c6a 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_ListByResourceGroup.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_ListByResourceGroup.json
@@ -32,7 +32,8 @@
"token": "token",
"resetToken": false
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
},
{
@@ -59,7 +60,8 @@
"token": "token",
"resetToken": false
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
]
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Update.json
index f82f0feaea5b..6593f5e1cb0a 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Update.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/HostPool_Update.json
@@ -49,7 +49,8 @@
"token": "token",
"resetToken": false
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Delete.json
index 6d95001e8311..a0fb8de17874 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Delete.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Delete.json
@@ -24,7 +24,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
},
"204": {}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Get.json
index 07246deb3a64..cdf7f8c1d3a2 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Get.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Get.json
@@ -24,7 +24,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_List.json
index 2618ca58698c..4dffe5b95b7f 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_List.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_List.json
@@ -25,7 +25,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
},
{
@@ -44,7 +46,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2"
}
}
]
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Update.json
index 794cb51fc0c5..fa38d983465f 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Update.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-01-23-preview/examples/SessionHost_Update.json
@@ -30,7 +30,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json
index d75ddf4291a2..bfa107e11949 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json
@@ -320,58 +320,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments": {
- "get": {
- "tags": [
- "ApplicationGroup"
- ],
- "operationId": "ApplicationGroupAssignments_WorkspaceLevelList",
- "description": "List application group that user can use.",
- "x-ms-examples": {
- "ApplicationGroupAssignment_WorkspaceLevelList": {
- "$ref": "./examples/ApplicationGroupAssignment_WorkspaceLevelList.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": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved user application group assignments in workspace.",
- "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}": {
"get": {
"tags": [
@@ -1598,61 +1546,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications": {
- "get": {
- "tags": [
- "Application"
- ],
- "operationId": "ActiveApplications_ListBySessionHost",
- "description": "List applications for the given session host.",
- "x-ms-examples": {
- "ActiveApplications_List": {
- "$ref": "./examples/ActiveApplication_ListBySessionHost.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": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved active applications in session host.",
- "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/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": {
"get": {
"tags": [
@@ -2190,8 +2083,8 @@
"type": "object",
"required": [
"hostPoolType",
- "personalDesktopAssignmentType",
- "loadBalancerType"
+ "loadBalancerType",
+ "preferredAppGroupType"
],
"properties": {
"friendlyName": {
@@ -2277,6 +2170,20 @@
"ssoContext": {
"type": "string",
"description": "Path to keyvault containing ssoContext secret."
+ },
+ "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
}
}
},
@@ -2360,6 +2267,19 @@
"ssoContext": {
"type": "string",
"description": "Path to keyvault containing ssoContext secret."
+ },
+ "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"
}
}
},
@@ -2797,6 +2717,16 @@
"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."
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ActiveApplication_ListBySessionHost.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ActiveApplication_ListBySessionHost.json
deleted file mode 100644
index 9f1476eecd78..000000000000
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ActiveApplication_ListBySessionHost.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
- "resourceGroupName": "resourceGroup1",
- "hostPoolName": "hostPool1",
- "sessionHostName": "sessionHost1.microsoft.com",
- "api-version": "2019-09-24-preview",
- "$filter": "userPrincipalName eq 'user1@microsoft.com'"
- },
- "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",
- "properties": {
- "description": "des1",
- "friendlyName": "friendly",
- "filePath": "path",
- "commandLineSetting": "Allow",
- "commandLineArguments": "arguments",
- "showInPortal": true,
- "iconPath": "icon",
- "iconIndex": 1,
- "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
- "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
- }
- },
- {
- "name": "applicationGroup1/application2",
- "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2",
- "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
- "properties": {
- "description": "des2",
- "friendlyName": "friendly",
- "filePath": "path",
- "commandLineSetting": "Allow",
- "commandLineArguments": "arguments",
- "showInPortal": true,
- "iconPath": "icon",
- "iconIndex": 1,
- "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
- "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json
deleted file mode 100644
index 0ff08ef95927..000000000000
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
- "resourceGroupName": "resourceGroup1",
- "workspaceName": "workspace1",
- "api-version": "2019-09-24-preview",
- "$filter": "userPrincipalName eq 'user1@microsoft.com'"
- },
- "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"
- },
- "properties": {
- "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"
- }
- },
- {
- "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"
- },
- "properties": {
- "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"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Create.json
index daf9dee27580..269f61ac668d 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Create.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Create.json
@@ -22,7 +22,8 @@
"expirationTime": "2008-09-22T14:01:54.9571247Z",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
},
@@ -52,7 +53,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
},
@@ -81,7 +83,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Get.json
index 10e6a4a383ac..6e71147a4055 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Get.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Get.json
@@ -31,7 +31,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_List.json
index f29f8537eb5a..d19d95f0785c 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_List.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_List.json
@@ -31,7 +31,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
},
{
@@ -58,7 +59,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
]
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_ListByResourceGroup.json
index 1dec6d177630..3aa6110aa76f 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_ListByResourceGroup.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_ListByResourceGroup.json
@@ -32,7 +32,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
},
{
@@ -59,7 +60,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
]
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Update.json
index 18d1ca279723..d13bcaee2943 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Update.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/HostPool_Update.json
@@ -49,7 +49,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Delete.json
index 1b0c26c20792..9a8b84e064d4 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Delete.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Delete.json
@@ -24,7 +24,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
},
"204": {}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Get.json
index 9b1c5f90bf63..4ebf983e1b15 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Get.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Get.json
@@ -24,7 +24,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_List.json
index 164fcaccad86..45f5784ec15c 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_List.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_List.json
@@ -25,7 +25,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
},
{
@@ -44,7 +46,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2"
}
}
]
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Update.json
index 379d98bbebcd..42a06c3969a6 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Update.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-09-24-preview/examples/SessionHost_Update.json
@@ -30,7 +30,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json
index 0948a6244957..8bee1f0e764a 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json
@@ -320,58 +320,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/workspaces/{workspaceName}/userApplicationGroupAssignments": {
- "get": {
- "tags": [
- "ApplicationGroup"
- ],
- "operationId": "ApplicationGroupAssignments_WorkspaceLevelList",
- "description": "List application group that user can use.",
- "x-ms-examples": {
- "ApplicationGroupAssignment_WorkspaceLevelList": {
- "$ref": "./examples/ApplicationGroupAssignment_WorkspaceLevelList.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": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression. Valid properties for filtering are applicationGroupType."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved user application group assignments in workspace.",
- "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}": {
"get": {
"tags": [
@@ -1598,61 +1546,6 @@
}
}
},
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DesktopVirtualization/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/activeApplications": {
- "get": {
- "tags": [
- "Application"
- ],
- "operationId": "ActiveApplications_ListBySessionHost",
- "description": "List applications for the given session host.",
- "x-ms-examples": {
- "ActiveApplications_List": {
- "$ref": "./examples/ActiveApplication_ListBySessionHost.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": "$filter",
- "in": "query",
- "required": false,
- "type": "string",
- "description": "OData filter expression. Valid properties for filtering are userprincipalname and sessionstate."
- }
- ],
- "responses": {
- "200": {
- "description": "Successfully retrieved active applications in session host.",
- "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/hostPools/{hostPoolName}/sessionHosts/{sessionHostName}/userSessions/{userSessionId}": {
"get": {
"tags": [
@@ -2198,8 +2091,8 @@
"type": "object",
"required": [
"hostPoolType",
- "personalDesktopAssignmentType",
- "loadBalancerType"
+ "loadBalancerType",
+ "preferredAppGroupType"
],
"properties": {
"friendlyName": {
@@ -2285,6 +2178,20 @@
"ssoContext": {
"type": "string",
"description": "Path to keyvault containing ssoContext secret."
+ },
+ "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
}
}
},
@@ -2371,6 +2278,19 @@
"ssoContext": {
"type": "string",
"description": "Path to keyvault containing ssoContext secret."
+ },
+ "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"
}
}
},
@@ -2820,6 +2740,16 @@
"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."
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ActiveApplication_ListBySessionHost.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ActiveApplication_ListBySessionHost.json
deleted file mode 100644
index 973e60d06849..000000000000
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ActiveApplication_ListBySessionHost.json
+++ /dev/null
@@ -1,52 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
- "resourceGroupName": "resourceGroup1",
- "hostPoolName": "hostPool1",
- "sessionHostName": "sessionHost1.microsoft.com",
- "api-version": "2019-12-10-preview",
- "$filter": "userPrincipalName eq 'user1@microsoft.com'"
- },
- "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",
- "properties": {
- "description": "des1",
- "friendlyName": "friendly",
- "filePath": "path",
- "commandLineSetting": "Allow",
- "commandLineArguments": "arguments",
- "showInPortal": true,
- "iconPath": "icon",
- "iconIndex": 1,
- "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
- "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
- }
- },
- {
- "name": "applicationGroup1/application2",
- "id": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/applicationGroup1/applications/application2",
- "type": "Microsoft.DesktopVirtualization/applicationGroups/applications",
- "properties": {
- "description": "des2",
- "friendlyName": "friendly",
- "filePath": "path",
- "commandLineSetting": "Allow",
- "commandLineArguments": "arguments",
- "showInPortal": true,
- "iconPath": "icon",
- "iconIndex": 1,
- "iconHash": "bEQ1n2HysrGxCDvgt4bfOtkET8ydzh5SXGM0KGTBPVc",
- "iconContent": "AAABAAgAAAAAAAEAIAA7MwAAhgAAAEBAAAABACAAKEIAAMEzAAAwMAAAAQAgAKglAADpdQAAKCgAAAEA..."
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json
deleted file mode 100644
index c2ee315a000d..000000000000
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/ApplicationGroupAssignment_WorkspaceLevelList.json
+++ /dev/null
@@ -1,51 +0,0 @@
-{
- "parameters": {
- "subscriptionId": "daefabc0-95b4-48b3-b645-8a753a63c4fa",
- "resourceGroupName": "resourceGroup1",
- "workspaceName": "workspace1",
- "api-version": "2019-12-10-preview",
- "$filter": "userPrincipalName eq 'user1@microsoft.com'"
- },
- "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"
- },
- "properties": {
- "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"
- }
- },
- {
- "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"
- },
- "properties": {
- "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"
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json
index 66b79818e853..12ea67762e9d 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Create.json
@@ -22,7 +22,8 @@
"expirationTime": "2020-10-01T14:01:54.9571247Z",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
},
@@ -52,7 +53,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
},
@@ -81,7 +83,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json
index 73d515fb1992..fb86c3da15ee 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Get.json
@@ -31,7 +31,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json
index e20d8baf3afb..69ef8301a370 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_List.json
@@ -31,7 +31,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
},
{
@@ -58,7 +59,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
]
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json
index 02e45253849c..933bf9839591 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_ListByResourceGroup.json
@@ -32,7 +32,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
},
{
@@ -59,7 +60,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
]
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json
index 0993e2d985a4..833bf8716bbf 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/HostPool_Update.json
@@ -50,7 +50,8 @@
"token": "token",
"registrationTokenOperation": "Update"
},
- "ssoContext": "KeyVaultPath"
+ "ssoContext": "KeyVaultPath",
+ "preferredAppGroupType": "Desktop"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json
index 3755a7e1ce7f..12cae16ead92 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Delete.json
@@ -24,7 +24,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
},
"204": {}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json
index d0372897c33e..7c4fc2180b4b 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Get.json
@@ -24,7 +24,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json
index e00397e9da1f..12ba5cafb4f2 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_List.json
@@ -25,7 +25,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
},
{
@@ -44,7 +46,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "39491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost2"
}
}
]
diff --git a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json
index 6b4d3500d06d..9353b6accd08 100644
--- a/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json
+++ b/specification/desktopvirtualization/resource-manager/Microsoft.DesktopVirtualization/preview/2019-12-10-preview/examples/SessionHost_Update.json
@@ -30,7 +30,9 @@
"sxSStackVersion": "rdp-sxs190816002",
"updateState": "Succeeded",
"lastUpdateTime": "2008-09-22T14:01:54.9571247Z",
- "updateErrorMessage": ""
+ "updateErrorMessage": "",
+ "virtualMachineId": "29491b54-c033-4dec-b09a-18bf0ebafaef",
+ "resourceId": "/subscriptions/daefabc0-95b4-48b3-b645-8a753a63c4fa/resourceGroups/resourceGroup1/providers/Microsoft.Compute/virtualMachines/sessionHost1"
}
}
}
diff --git a/specification/desktopvirtualization/resource-manager/readme.az.md b/specification/desktopvirtualization/resource-manager/readme.az.md
index c4e10f818618..c9e500a520d6 100644
--- a/specification/desktopvirtualization/resource-manager/readme.az.md
+++ b/specification/desktopvirtualization/resource-manager/readme.az.md
@@ -7,6 +7,7 @@ az:
extensions: desktopvirtualization
package-name: azure-mgmt-desktopvirtualization
namespace: azure.mgmt.desktopvirtualization
+ replace-datetime: true
az-output-folder: $(azure-cli-extension-folder)/src/desktopvirtualization
python-sdk-output-folder: "$(az-output-folder)/azext_desktopvirtualization/vendored_sdks/desktopvirtualization"
diff --git a/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md b/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..9a0a2b34dc89
--- /dev/null
+++ b/specification/desktopvirtualization/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,48 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-desktopvirtualization-2019-12-10-preview
+ - tag: schema-desktopvirtualization-2019-09-24-preview
+ - tag: schema-desktopvirtualization-2019-01-23-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-desktopvirtualization-2019-12-10-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-desktopvirtualization-2019-12-10-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DesktopVirtualization/preview/2019-12-10-preview/desktopvirtualization.json
+
+```
+
+### Tag: schema-desktopvirtualization-2019-09-24-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-desktopvirtualization-2019-09-24-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DesktopVirtualization/preview/2019-09-24-preview/desktopvirtualization.json
+
+```
+
+### Tag: schema-desktopvirtualization-2019-01-23-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-desktopvirtualization-2019-01-23-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DesktopVirtualization/preview/2019-01-23-preview/desktopvirtualization.json
+
+```
diff --git a/specification/desktopvirtualization/resource-manager/readme.md b/specification/desktopvirtualization/resource-manager/readme.md
index 3864f213f6b1..5d79f0a477dc 100644
--- a/specification/desktopvirtualization/resource-manager/readme.md
+++ b/specification/desktopvirtualization/resource-manager/readme.md
@@ -75,6 +75,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_desktop_virtualization']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js desktopvirtualization/resource-manager
```
## C#
@@ -105,6 +108,10 @@ See configuration in [readme.node.md](./readme.node.md)
See configuration in [readme.ruby.md](./readme.ruby.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCertificateCreateOrUpdate.json
new file mode 100644
index 000000000000..0d44e7116ea7
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCertificateCreateOrUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "certificateDescription": {
+ "certificate": "############################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCheckNameAvailability.json
new file mode 100644
index 000000000000..74cce29667f1
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "arguments": {
+ "name": "test213123"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Invalid",
+ "message": "name is valid"
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreate.json
new file mode 100644
index 000000000000..01f3b3a90544
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "iotDpsDescription": {
+ "location": "East US",
+ "properties": {},
+ "sku": {
+ "name": "S1",
+ "capacity": 1
+ },
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012",
+ "authorizationPolicies": []
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012",
+ "authorizationPolicies": []
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..94a8d73c220e
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSCreateOrUpdatePrivateEndpointConnection.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDelete.json
new file mode 100644
index 000000000000..ddfb3bd52182
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {},
+ "404": {}
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeleteCertificate.json
new file mode 100644
index 000000000000..21358dfecdf2
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeleteCertificate.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..e2a7eeb7cb1b
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSDeletePrivateEndpointConnection.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGenerateVerificationCode.json
new file mode 100644
index 000000000000..1dde48f61e65
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGenerateVerificationCode.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cert",
+ "properties": {
+ "verificationCode": "##################################",
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "##############################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGet.json
new file mode 100644
index 000000000000..d7879f8bff2e
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012",
+ "authorizationPolicies": []
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificate.json
new file mode 100644
index 000000000000..eee88e44a0cf
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificates.json
new file mode 100644
index 000000000000..0087f4a66764
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetCertificates.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetKey.json
new file mode 100644
index 000000000000..e75a9b585328
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "keyName": "testKey"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyName": "testKey",
+ "primaryKey": "##################################",
+ "secondaryKey": "################################",
+ "rights": "RegistrationStatusWrite"
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetOperationResult.json
new file mode 100644
index 000000000000..e92100cd61db
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetOperationResult.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "operationId": "MTY5OTNmZDctODI5Yy00N2E2LTkxNDQtMDU1NGIyYzY1ZjRl",
+ "asyncinfo": "1508265712453"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..465769974a22
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateEndpointConnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateLinkResources.json
new file mode 100644
index 000000000000..7761f6f3a8ef
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetPrivateLinkResources.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "groupId": "iotDps"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps",
+ "name": "iotDps",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotDps",
+ "requiredMembers": [
+ "iotDps"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices-provisioning.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetValidSku.json
new file mode 100644
index 000000000000..5b6532edb650
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSGetValidSku.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "S1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListByResourceGroup.json
new file mode 100644
index 000000000000..3f5c3862e31e
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListByResourceGroup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ },
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "mySecondProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListBySubscription.json
new file mode 100644
index 000000000000..efb4770967b8
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ },
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "mySecondProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListKeys.json
new file mode 100644
index 000000000000..835328ed57c2
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListKeys.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "keyName": "key1",
+ "primaryKey": "#####################################",
+ "secondaryKey": "###################################",
+ "rights": "ServiceConfig"
+ },
+ {
+ "keyName": "key2",
+ "primaryKey": "#######################################",
+ "secondaryKey": "####################################=",
+ "rights": "ServiceConfig"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..31f5993fcaa3
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateEndpointConnections.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateLinkResources.json
new file mode 100644
index 000000000000..d8518c8255c0
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSListPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps",
+ "name": "iotDps",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotDps",
+ "requiredMembers": [
+ "iotDps"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices-provisioning.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSOperations.json
new file mode 100644
index 000000000000..ca69bfa1de2f
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSOperations.json
@@ -0,0 +1,293 @@
+{
+ "parameters": {
+ "api-version": "2020-09-01-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Devices/register/action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Register Resource Provider"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service metric definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service log definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/operations/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get All ResourceProvider Operations"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Check If IotHub name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/usages/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Subscription Usages"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create or update IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubStats/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Statistics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get valid IotHub Skus"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get all IotHub Keys"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Key for the given name"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get EventHub Consumer Group(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/exportDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Export Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/importDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Import Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/jobs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get the Job(s) on IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Quota Metrics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test All"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test Route"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Endpoint Health"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service metric definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service log definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServives",
+ "operation": "Check If Provisioning Service name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Get Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Create Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "get security related metadata"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSPatch.json
new file mode 100644
index 000000000000..676573e711f2
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSPatch.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "location": "East US",
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "ProvisioningServiceTags": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {
+ "foo": "bar"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSVerifyCertificate.json
new file mode 100644
index 000000000000..8593f15b03a6
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/examples/DPSVerifyCertificate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-09-01-preview",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk=",
+ "request": {
+ "certificate": "#####################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": true,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpTQ="
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json
new file mode 100644
index 000000000000..20b815e53811
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/preview/2020-09-01-preview/iotdps.json
@@ -0,0 +1,2546 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-09-01-preview",
+ "x-ms-code-generation-settings": {
+ "host": "management.azure.com"
+ },
+ "title": "iotDpsClient",
+ "description": "API for using the Azure IoT Hub Device Provisioning Service features."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Devices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "DPSOperations": {
+ "$ref": "./examples/DPSOperations.json"
+ }
+ },
+ "description": "Lists all of the available Microsoft.Devices REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "DpsCertificate_Get",
+ "description": "Get the certificate from the provisioning service.",
+ "x-ms-examples": {
+ "DPSGetCertificate": {
+ "$ref": "./examples/DPSGetCertificate.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the certificate to retrieve."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the provisioning service the certificate is associated with."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the certificate."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Metadata for the specified certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Upload the certificate to the provisioning service.",
+ "description": "Add new certificate or update an existing certificate.",
+ "operationId": "DpsCertificate_CreateOrUpdate",
+ "x-ms-examples": {
+ "DPSCreateOrUpdateCertificate": {
+ "$ref": "./examples/DPSCertificateCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group identifier.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "description": "The name of the provisioning service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate create or update.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ },
+ {
+ "name": "certificateDescription",
+ "in": "body",
+ "description": "The certificate body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateBodyDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "operationId": "DpsCertificate_Delete",
+ "summary": "Delete the Provisioning Service Certificate.",
+ "description": "Deletes the specified certificate associated with the Provisioning Service",
+ "x-ms-examples": {
+ "DPSDeleteCertificate": {
+ "$ref": "./examples/DPSDeleteCertificate.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the certificate"
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the provisioning service."
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "This is a mandatory field, and is the logical name of the certificate that the provisioning service will access by."
+ },
+ {
+ "name": "certificate.name",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "This is optional, and it is the Common Name of the certificate."
+ },
+ {
+ "name": "certificate.rawBytes",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte",
+ "description": "Raw data within the certificate."
+ },
+ {
+ "name": "certificate.isVerified",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if certificate has been verified by owner of the private key."
+ },
+ {
+ "name": "certificate.purpose",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "A description that mentions the purpose of the certificate.",
+ "enum": [
+ "clientAuthentication",
+ "serverAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePurpose",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "certificate.created",
+ "in": "query",
+ "description": "Time the certificate is created.",
+ "required": false,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "certificate.lastUpdated",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Time the certificate is last updated.",
+ "format": "date-time"
+ },
+ {
+ "name": "certificate.hasPrivateKey",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate contains a private key."
+ },
+ {
+ "name": "certificate.nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Random number generated to indicate Proof of Possession."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the non-security related metadata of the provisioning service.",
+ "description": "Get the metadata of the provisioning service without SAS keys.",
+ "operationId": "IotDpsResource_Get",
+ "x-ms-examples": {
+ "DPSGet": {
+ "$ref": "./examples/DPSGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the provisioning service to retrieve."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group name."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Provisioning service description with no keys is included in the response.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "default": {
+ "description": "Default error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update the metadata of the provisioning service.",
+ "description": "Create or update the metadata of the provisioning service. The usual pattern to modify a property is to retrieve the provisioning service metadata and security metadata, and then combine them with the modified values in a new body to update the provisioning service.",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotDpsResource_CreateOrUpdate",
+ "x-ms-examples": {
+ "DPSCreate": {
+ "$ref": "./examples/DPSCreate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to create or update."
+ },
+ {
+ "name": "iotDpsDescription",
+ "in": "body",
+ "required": true,
+ "description": "Description of the provisioning service to create or update.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the provisioning service. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "PATCH"
+ ],
+ "summary": "Update an existing provisioning service's tags.",
+ "description": "Update an existing provisioning service's tags. to update other fields use the CreateOrUpdate method",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotDpsResource_Update",
+ "x-ms-examples": {
+ "DPSPatch": {
+ "$ref": "./examples/DPSPatch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to create or update."
+ },
+ {
+ "name": "ProvisioningServiceTags",
+ "in": "body",
+ "required": true,
+ "description": "Updated tag information to set into the provisioning service instance.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Provisioning Service was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete the Provisioning Service",
+ "description": "Deletes the Provisioning Service.",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotDpsResource_Delete",
+ "x-ms-examples": {
+ "DPSDelete": {
+ "$ref": "./examples/DPSDelete.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to delete."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The provisioning service resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the provisioning service status directly, or query the operation resource."
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state."
+ },
+ "204": {
+ "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the provisioning service metadata in the service and the status of the delete operation is set to a completed state."
+ },
+ "404": {
+ "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the provisioning service metadata in the service."
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "DpsCertificate_List",
+ "description": "Get all the certificates tied to the provisioning service.",
+ "x-ms-examples": {
+ "DPSGetCertificates": {
+ "$ref": "./examples/DPSGetCertificates.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of resource group."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to retrieve certificates for."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of certificate descriptions in a JSON-serialized array.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListDescription"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the provisioning services in a subscription.",
+ "description": "List all the provisioning services for a given subscription id.",
+ "operationId": "IotDpsResource_ListBySubscription",
+ "x-ms-examples": {
+ "DPSListBySubscription": {
+ "$ref": "./examples/DPSListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the provisioning services in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotDpsResource_ListByResourceGroup",
+ "description": "Get a list of all provisioning services in the given resource group.",
+ "x-ms-examples": {
+ "DPSListByResourceGroup": {
+ "$ref": "./examples/DPSListByResourceGroup.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of provisioning services in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotDpsResource_GetOperationResult",
+ "description": "Gets the status of a long running operation, such as create, update or delete a provisioning service.",
+ "x-ms-examples": {
+ "DPSGetOperationResult": {
+ "$ref": "./examples/DPSGetOperationResult.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Operation id corresponding to long running operation. Use this to poll for the status."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service that the operation is running on."
+ },
+ {
+ "name": "asyncinfo",
+ "in": "query",
+ "description": "Async header used to poll on the status of the operation, obtained while creating the long running operation.",
+ "required": true,
+ "type": "string",
+ "default": "true"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The status of the long running operation.",
+ "schema": {
+ "$ref": "#/definitions/AsyncOperationResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the list of valid SKUs for a provisioning service.",
+ "description": "Gets the list of valid SKUs and tiers for a provisioning service.",
+ "operationId": "IotDpsResource_listValidSkus",
+ "x-ms-examples": {
+ "DPSGetValidSku": {
+ "$ref": "./examples/DPSGetValidSku.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of resource group."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this provisioning service.",
+ "schema": {
+ "$ref": "#/definitions/IotDpsSkuDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "DpsCertificate_GenerateVerificationCode",
+ "description": "Generate verification code for Proof of Possession.",
+ "x-ms-examples": {
+ "DPSGenerateVerificationCode": {
+ "$ref": "./examples/DPSGenerateVerificationCode.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The mandatory logical name of the certificate, that the provisioning service uses to access."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "name of resource group."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service."
+ },
+ {
+ "name": "certificate.name",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Common Name for the certificate."
+ },
+ {
+ "name": "certificate.rawBytes",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte",
+ "description": "Raw data of certificate."
+ },
+ {
+ "name": "certificate.isVerified",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate has been verified by owner of the private key."
+ },
+ {
+ "name": "certificate.purpose",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Description mentioning the purpose of the certificate.",
+ "enum": [
+ "clientAuthentication",
+ "serverAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePurpose",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "certificate.created",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate creation time."
+ },
+ {
+ "name": "certificate.lastUpdated",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate last updated time."
+ },
+ {
+ "name": "certificate.hasPrivateKey",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate contains private key."
+ },
+ {
+ "name": "certificate.nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Random number generated to indicate Proof of Possession."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Generated verification code for that certificate is returned.",
+ "schema": {
+ "$ref": "#/definitions/VerificationCodeResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "DpsCertificate_VerifyCertificate",
+ "summary": "Verify certificate's private key possession.",
+ "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.",
+ "x-ms-examples": {
+ "DPSVerifyCertificate": {
+ "$ref": "./examples/DPSVerifyCertificate.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The mandatory logical name of the certificate, that the provisioning service uses to access."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the certificate."
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "description": "The name of the certificate",
+ "schema": {
+ "$ref": "#/definitions/VerificationCodeRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group name."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Provisioning service name."
+ },
+ {
+ "name": "certificate.name",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Common Name for the certificate."
+ },
+ {
+ "name": "certificate.rawBytes",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte",
+ "description": "Raw data of certificate."
+ },
+ {
+ "name": "certificate.isVerified",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate has been verified by owner of the private key."
+ },
+ {
+ "name": "certificate.purpose",
+ "in": "query",
+ "required": false,
+ "description": "Describe the purpose of the certificate.",
+ "type": "string",
+ "enum": [
+ "clientAuthentication",
+ "serverAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePurpose",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "certificate.created",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate creation time."
+ },
+ {
+ "name": "certificate.lastUpdated",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate last updated time."
+ },
+ {
+ "name": "certificate.hasPrivateKey",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate contains private key."
+ },
+ {
+ "name": "certificate.nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Random number generated to indicate Proof of Possession."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotDpsResource_CheckProvisioningServiceNameAvailability",
+ "x-ms-examples": {
+ "DPSCheckName": {
+ "$ref": "./examples/DPSCheckNameAvailability.json"
+ }
+ },
+ "summary": "Check if a provisioning service name is available.",
+ "description": "Check if a provisioning service name is available. This will validate if the name is syntactically valid and if the name is usable",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "arguments",
+ "in": "body",
+ "required": true,
+ "description": "Set the name parameter in the OperationInputs structure to the name of the provisioning service to check.",
+ "schema": {
+ "$ref": "#/definitions/OperationInputs"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the provisioning service name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityInfo"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotDpsResource_ListKeys",
+ "x-ms-examples": {
+ "DPSListKeys": {
+ "$ref": "./examples/DPSListKeys.json"
+ }
+ },
+ "summary": "Get the security metadata for a provisioning service.",
+ "description": "List the primary and secondary keys for a provisioning service.",
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The provisioning service name to get the shared access keys for."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "resource group name"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the provisioning service endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotDpsResource_ListKeysForKeyName",
+ "x-ms-examples": {
+ "DPSGetKey": {
+ "$ref": "./examples/DPSGetKey.json"
+ }
+ },
+ "summary": "Get a shared access policy by name from a provisioning service.",
+ "description": "List primary and secondary keys for a specific key name",
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the provisioning service."
+ },
+ {
+ "name": "keyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Logical key name to get key-values for."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the provisioning service.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more provisioning service endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private link resources",
+ "description": "List private link resources for the given provisioning service",
+ "operationId": "IotDpsResource_ListPrivateLinkResources",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/DPSListPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private link resources",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResources"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources/{groupId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the specified private link resource",
+ "description": "Get the specified private link resource for the given provisioning service",
+ "operationId": "IotDpsResource_GetPrivateLinkResources",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/DPSGetPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/groupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the specified of private link resource",
+ "schema": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private endpoint connections",
+ "description": "List private endpoint connection properties",
+ "operationId": "IotDpsResource_ListPrivateEndpointConnections",
+ "x-ms-examples": {
+ "PrivateEndpointConnections_List": {
+ "$ref": "./examples/DPSListPrivateEndpointConnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionsList"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get private endpoint connection",
+ "description": "Get private endpoint connection properties",
+ "operationId": "IotDpsResource_GetPrivateEndpointConnection",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Get": {
+ "$ref": "./examples/DPSGetPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update private endpoint connection",
+ "description": "Create or update the status of a private endpoint connection with the specified name",
+ "operationId": "IotDpsResource_CreateOrUpdatePrivateEndpointConnection",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_CreateOrUpdate": {
+ "$ref": "./examples/DPSCreateOrUpdatePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection with updated properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the update operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete private endpoint connection",
+ "description": "Delete private endpoint connection with the specified name",
+ "operationId": "IotDpsResource_DeletePrivateEndpointConnection",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Delete": {
+ "$ref": "./examples/DPSDeletePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "204": {
+ "description": "PrivateEndpoint does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "AsyncOperationResult": {
+ "type": "object",
+ "description": "Result of a long running operation.",
+ "properties": {
+ "status": {
+ "description": "current status of a long running operation.",
+ "type": "string"
+ },
+ "error": {
+ "description": "Error message containing code, description and details",
+ "$ref": "#/definitions/ErrorMesssage"
+ }
+ }
+ },
+ "ErrorMesssage": {
+ "description": "Error response containing message and code.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "standard error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "standard error description",
+ "type": "string"
+ },
+ "details": {
+ "description": "detailed summary of error",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateListDescription": {
+ "description": "The JSON-serialized array of Certificate objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of Certificate objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ }
+ }
+ },
+ "CertificateBodyDescription": {
+ "description": "The JSON-serialized X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateResponse": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "properties of a certificate",
+ "$ref": "#/definitions/CertificateProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CertificateProperties": {
+ "description": "The description of an X509 CA Certificate.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's creation date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ }
+ }
+ },
+ "IotDpsSkuInfo": {
+ "type": "object",
+ "description": "List of possible provisioning service SKUs.",
+ "properties": {
+ "name": {
+ "description": "Sku name.",
+ "enum": [
+ "S1"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotDpsSku",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Pricing tier name of the provisioning service."
+ },
+ "capacity": {
+ "format": "int64",
+ "type": "integer",
+ "description": "The number of units to provision"
+ }
+ }
+ },
+ "ProvisioningServiceDescription": {
+ "description": "The description of the provisioning service.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Service specific properties for a provisioning service",
+ "$ref": "#/definitions/IotDpsPropertiesDescription"
+ },
+ "sku": {
+ "description": "Sku info for a provisioning Service.",
+ "$ref": "#/definitions/IotDpsSkuInfo"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku",
+ "properties"
+ ]
+ },
+ "IotDpsPropertiesDescription": {
+ "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Current state of the provisioning service.",
+ "enum": [
+ "Activating",
+ "Active",
+ "Deleting",
+ "Deleted",
+ "ActivationFailed",
+ "DeletionFailed",
+ "Transitioning",
+ "Suspending",
+ "Suspended",
+ "Resuming",
+ "FailingOver",
+ "FailoverFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "state",
+ "modelAsString": true
+ }
+ },
+ "encryption": {
+ "description": "The encryption properties for the IoT DPS instance.",
+ "$ref": "#/definitions/EncryptionPropertiesDescription"
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Whether requests from Public Network are allowed",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "ipFilterRules": {
+ "description": "The IP filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpFilterRule"
+ }
+ },
+ "privateEndpointConnections": {
+ "description": "Private endpoint connections created on this IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "provisioningState": {
+ "description": "The ARM provisioning state of the provisioning service.",
+ "type": "string"
+ },
+ "iotHubs": {
+ "type": "array",
+ "description": "List of IoT hubs associated with this provisioning service.",
+ "items": {
+ "$ref": "#/definitions/IotHubDefinitionDescription"
+ }
+ },
+ "allocationPolicy": {
+ "enum": [
+ "Hashed",
+ "GeoLatency",
+ "Static"
+ ],
+ "type": "string",
+ "description": "Allocation policy to be used by this provisioning service.",
+ "x-ms-enum": {
+ "name": "AllocationPolicy",
+ "modelAsString": true
+ }
+ },
+ "serviceOperationsHostName": {
+ "description": "Service endpoint for provisioning service.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceProvisioningHostName": {
+ "type": "string",
+ "description": "Device endpoint for this provisioning service.",
+ "readOnly": true
+ },
+ "idScope": {
+ "type": "string",
+ "description": "Unique identifier of this provisioning service.",
+ "readOnly": true
+ },
+ "authorizationPolicies": {
+ "description": "List of authorization keys for a provisioning service.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]"
+ }
+ }
+ }
+ },
+ "IotHubDefinitionDescription": {
+ "type": "object",
+ "description": "Description of the IoT hub.",
+ "properties": {
+ "applyAllocationPolicy": {
+ "description": "flag for applying allocationPolicy or not for a given iot hub.",
+ "type": "boolean"
+ },
+ "allocationWeight": {
+ "description": "weight to apply for a given iot h.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Host name of the IoT hub."
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Connection string of the IoT hub."
+ },
+ "location": {
+ "type": "string",
+ "description": "ARM region of the IoT hub."
+ }
+ },
+ "required": [
+ "connectionString",
+ "location"
+ ]
+ },
+ "EncryptionPropertiesDescription": {
+ "description": "The encryption properties for the IoT DPS instance.",
+ "type": "object",
+ "properties": {
+ "keySource": {
+ "description": "The source of the key.",
+ "type": "string"
+ },
+ "keyVaultProperties": {
+ "description": "The properties of the KeyVault key.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/KeyVaultKeyProperties"
+ }
+ }
+ }
+ },
+ "KeyVaultKeyProperties": {
+ "description": "The properties of the KeyVault key.",
+ "type": "object",
+ "properties": {
+ "keyIdentifier": {
+ "type": "string",
+ "description": "The identifier of the key."
+ }
+ }
+ },
+ "IpFilterRule": {
+ "description": "The IP filter rules for a provisioning Service.",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "description": "The name of the IP filter rule.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The desired action for requests captured by this rule.",
+ "enum": [
+ "Accept",
+ "Reject"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterActionType",
+ "modelAsString": false
+ }
+ },
+ "ipMask": {
+ "description": "A string that contains the IP address range in CIDR notation for the rule.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Target for requests captured by this rule.",
+ "enum": [
+ "all",
+ "serviceApi",
+ "deviceApi"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterTargetType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "filterName",
+ "action",
+ "ipMask"
+ ]
+ },
+ "PrivateLinkResources": {
+ "description": "The available private link resources for a provisioning service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of available private link resources for a provisioning service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ }
+ }
+ },
+ "GroupIdInformation": {
+ "description": "The group information for creating a private endpoint on a provisioning service",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "description": "The properties for a group information object",
+ "$ref": "#/definitions/GroupIdInformationProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "GroupIdInformationProperties": {
+ "description": "The properties for a group information object",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "description": "The group id"
+ },
+ "requiredMembers": {
+ "description": "The required members for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The required DNS zones for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionsList": {
+ "description": "The list of private endpoint connections for a provisioning service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "The private endpoint connection of a provisioning service",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "description": "The properties of a private endpoint connection",
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of a private endpoint connection",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The description for the current state of a private endpoint connection"
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Actions required for a private endpoint connection"
+ }
+ },
+ "required": [
+ "status",
+ "description"
+ ]
+ },
+ "SharedAccessSignatureAuthorizationRule[AccessRightsDescription]": {
+ "type": "object",
+ "description": "Description of the shared access key.",
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "Name of the key."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary SAS key value."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary SAS key value."
+ },
+ "rights": {
+ "description": "Rights that this key has.",
+ "enum": [
+ "ServiceConfig",
+ "EnrollmentRead",
+ "EnrollmentWrite",
+ "DeviceConnect",
+ "RegistrationStatusRead",
+ "RegistrationStatusWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessRightsDescription",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "keyName",
+ "rights"
+ ]
+ },
+ "Resource": {
+ "description": "The common properties of an Azure resource.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ]
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list provisioning service operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "Provisioning service operations supported by the Microsoft.Devices resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Provisioning Service REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{read | write | action | delete}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft Devices."
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Type: ProvisioningServices."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the operation."
+ }
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatusCode": {
+ "description": "The HTTP status code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SharedAccessSignatureAuthorizationRuleListResult": {
+ "type": "object",
+ "description": "List of shared access keys.",
+ "properties": {
+ "value": {
+ "description": "The list of shared access policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotDpsSkuDefinitionListResult": {
+ "type": "object",
+ "description": "List of available SKUs.",
+ "properties": {
+ "value": {
+ "description": "The list of SKUs",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotDpsSkuDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotDpsSkuDefinition": {
+ "type": "object",
+ "description": "Available SKUs of tier and units.",
+ "properties": {
+ "name": {
+ "description": "Sku name.",
+ "enum": [
+ "S1"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotDpsSku",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "OperationInputs": {
+ "description": "Input values for operation results call.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the Provisioning Service to check.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "NameAvailabilityInfo": {
+ "type": "object",
+ "description": "Description of name availability.",
+ "properties": {
+ "nameAvailable": {
+ "description": "specifies if a name is available or not",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "specifies the reason a name is unavailable",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NameUnavailabilityReason",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "message containing a detailed reason name is unavailable",
+ "type": "string"
+ }
+ }
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a Provisioning Service instance."
+ },
+ "ProvisioningServiceDescriptionListResult": {
+ "type": "object",
+ "description": "List of provisioning service descriptions.",
+ "properties": {
+ "value": {
+ "description": "List of provisioning service descriptions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "nextLink": {
+ "description": "the next link",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VerificationCodeResponse": {
+ "type": "object",
+ "description": "Description of the response of the verification code.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of certificate.",
+ "readOnly": true
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Request etag."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "verificationCode": {
+ "type": "string",
+ "description": "Verification code."
+ },
+ "subject": {
+ "type": "string",
+ "description": "Certificate subject."
+ },
+ "expiry": {
+ "type": "string",
+ "description": "Code expiry."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Certificate thumbprint."
+ },
+ "isVerified": {
+ "type": "boolean",
+ "description": "Indicate if the certificate is verified by owner of private key."
+ },
+ "created": {
+ "type": "string",
+ "description": "Certificate created time."
+ },
+ "updated": {
+ "type": "string",
+ "description": "Certificate updated time."
+ }
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "VerificationCodeRequest": {
+ "type": "object",
+ "description": "The JSON-serialized leaf certificate",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription identifier.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the provisioning service.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the provisioning service.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "groupId": {
+ "name": "groupId",
+ "in": "path",
+ "description": "The name of the private link resource",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "privateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCertificateCreateOrUpdate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCertificateCreateOrUpdate.json
new file mode 100644
index 000000000000..558f5c35e5b2
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCertificateCreateOrUpdate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "certificateDescription": {
+ "certificate": "############################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServives/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCheckNameAvailability.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCheckNameAvailability.json
new file mode 100644
index 000000000000..0e4aa5da3076
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCheckNameAvailability.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "arguments": {
+ "name": "test213123"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "nameAvailable": true,
+ "reason": "Invalid",
+ "message": "name is valid"
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreate.json
new file mode 100644
index 000000000000..4b51ca38665a
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreate.json
@@ -0,0 +1,65 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "iotDpsDescription": {
+ "location": "East US",
+ "properties": {},
+ "sku": {
+ "name": "S1",
+ "capacity": 1
+ },
+ "tags": {}
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012",
+ "authorizationPolicies": []
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012",
+ "authorizationPolicies": []
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups//providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreateOrUpdatePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreateOrUpdatePrivateEndpointConnection.json
new file mode 100644
index 000000000000..0f7bd6619300
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSCreateOrUpdatePrivateEndpointConnection.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection",
+ "privateEndpointConnection": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDelete.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDelete.json
new file mode 100644
index 000000000000..df3ec6c19ac0
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {},
+ "404": {}
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeleteCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeleteCertificate.json
new file mode 100644
index 000000000000..05c0226c64d8
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeleteCertificate.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeletePrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeletePrivateEndpointConnection.json
new file mode 100644
index 000000000000..a6e6b9903e7e
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSDeletePrivateEndpointConnection.json
@@ -0,0 +1,46 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Disconnected",
+ "description": "Deleted",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "204": {}
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGenerateVerificationCode.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGenerateVerificationCode.json
new file mode 100644
index 000000000000..46046c8661fa
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGenerateVerificationCode.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk="
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "name": "cert",
+ "properties": {
+ "verificationCode": "##################################",
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "##############################",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGet.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGet.json
new file mode 100644
index 000000000000..990419b2ff0d
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGet.json
@@ -0,0 +1,33 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012",
+ "authorizationPolicies": []
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificate.json
new file mode 100644
index 000000000000..4eefdca87ec7
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificate.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificates.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificates.json
new file mode 100644
index 000000000000..0749e8b47528
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetCertificates.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "properties": {
+ "subject": "CN=testdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": false,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:23:50 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/IotHubs/andbuc-hub/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpNs="
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetKey.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetKey.json
new file mode 100644
index 000000000000..59cfd1dedda1
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetKey.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "keyName": "testKey"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "keyName": "testKey",
+ "primaryKey": "##################################",
+ "secondaryKey": "################################",
+ "rights": "RegistrationStatusWrite"
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetOperationResult.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetOperationResult.json
new file mode 100644
index 000000000000..7b42073c8891
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetOperationResult.json
@@ -0,0 +1,17 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "operationId": "MTY5OTNmZDctODI5Yy00N2E2LTkxNDQtMDU1NGIyYzY1ZjRl",
+ "asyncinfo": "1508265712453"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "status": "Succeeded"
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateEndpointConnection.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateEndpointConnection.json
new file mode 100644
index 000000000000..f225fdfb3ed0
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateEndpointConnection.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "privateEndpointConnectionName": "myPrivateEndpointConnection"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateLinkResources.json
new file mode 100644
index 000000000000..7e5dd092b9fe
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetPrivateLinkResources.json
@@ -0,0 +1,27 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "groupId": "iotDps"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps",
+ "name": "iotDps",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotDps",
+ "requiredMembers": [
+ "iotDps"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices-provisioning.net"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetValidSku.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetValidSku.json
new file mode 100644
index 000000000000..bd7172404ce3
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSGetValidSku.json
@@ -0,0 +1,19 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "S1"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListByResourceGroup.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListByResourceGroup.json
new file mode 100644
index 000000000000..edcfab5f6c2d
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListByResourceGroup.json
@@ -0,0 +1,55 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "resourceGroupName": "myResourceGroup"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ },
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "mySecondProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "mySecondProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListBySubscription.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListBySubscription.json
new file mode 100644
index 000000000000..10809ab99f65
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListBySubscription.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ },
+ {
+ "etag": "AAAAAAAADGk=",
+ "name": "mySecondProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/mySecondProvisioningService",
+ "tags": {},
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListKeys.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListKeys.json
new file mode 100644
index 000000000000..244001271379
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListKeys.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "keyName": "key1",
+ "primaryKey": "#####################################",
+ "secondaryKey": "###################################",
+ "rights": "ServiceConfig"
+ },
+ {
+ "keyName": "key2",
+ "primaryKey": "#######################################",
+ "secondaryKey": "####################################=",
+ "rights": "ServiceConfig"
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateEndpointConnections.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateEndpointConnections.json
new file mode 100644
index 000000000000..44aedc7b3ca4
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateEndpointConnections.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateEndpointConnections/myPrivateEndpointConnection",
+ "name": "myPrivateEndpointConnection",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateEndpointConnections",
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/a9eba280-4734-4d49-878f-b5549d1d0453/resourceGroups/networkResourceGroup/providers/Microsoft.Network/privateEndpoints/myPrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my request!",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateLinkResources.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateLinkResources.json
new file mode 100644
index 000000000000..a734845280ad
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSListPrivateLinkResources.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "resourceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/PrivateLinkResources/iotDps",
+ "name": "iotDps",
+ "type": "Microsoft.Devices/ProvisioningServices/PrivateLinkResources",
+ "properties": {
+ "groupId": "iotDps",
+ "requiredMembers": [
+ "iotDps"
+ ],
+ "requiredZoneNames": [
+ "privatelink.azure-devices-provisioning.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSOperations.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSOperations.json
new file mode 100644
index 000000000000..8803ccd6798c
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSOperations.json
@@ -0,0 +1,293 @@
+{
+ "parameters": {
+ "api-version": "2020-03-01"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.Devices/register/action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Register Resource Provider"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service metric definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/IotHubs/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read IotHub service log definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/operations/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get All ResourceProvider Operations"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Check If IotHub name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/usages/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Subscription Usages"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create or update IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete IotHub Resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubStats/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Statistics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get valid IotHub Skus"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get all IotHub Keys"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/iotHubKeys/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get IotHub Key for the given name"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Create EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get EventHub Consumer Group(s)"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/eventHubEndpoints/consumerGroups/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Delete EventHub Consumer Group"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/exportDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Export Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/importDevices/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Import Devices"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/jobs/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get the Job(s) on IotHub"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/quotaMetrics/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Quota Metrics"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testall/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test All"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routing/routes/$testnew/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Routing Rule Test Route"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/iotHubs/routingEndpointsHealth/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Endpoint Health"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Get Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/diagnosticSettings/write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Set Diagnostic Setting"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/metricDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service metric definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/ProvisioningServices/logDefinitions/read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "IotHubs",
+ "operation": "Read DPS service log definitions"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/checkProvisioningServiceNameAvailability/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServives",
+ "operation": "Check If Provisioning Service name is available"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Get Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Write",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Create Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/Delete",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/skus/Read",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "Delete Provisioning Service resource"
+ }
+ },
+ {
+ "name": "Microsoft.Devices/provisioningServices/listkeys/Action",
+ "display": {
+ "provider": "Microsoft Devices",
+ "resource": "ProvisioningServices",
+ "operation": "get security related metadata"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSPatch.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSPatch.json
new file mode 100644
index 000000000000..ac5169c58f33
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSPatch.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "location": "East US",
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "ProvisioningServiceTags": {
+ "tags": {
+ "foo": "bar"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "etag": "AAAAAAAADGk=",
+ "name": "myFirstProvisioningService",
+ "location": "eastus",
+ "properties": {
+ "state": "Active",
+ "allocationPolicy": "Hashed",
+ "serviceOperationsHostName": "myFirstProvisioningService.azure-devices-provisioning.net",
+ "deviceProvisioningHostName": "global.azure-devices-provisioning.net",
+ "idScope": "0ne00000012"
+ },
+ "type": "Microsoft.Devices/ProvisioningServices",
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService",
+ "tags": {
+ "foo": "bar"
+ },
+ "sku": {
+ "name": "S1",
+ "tier": "Standard",
+ "capacity": 1
+ }
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSVerifyCertificate.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSVerifyCertificate.json
new file mode 100644
index 000000000000..9fc26b15c818
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/examples/DPSVerifyCertificate.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "provisioningServiceName": "myFirstProvisioningService",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-03-01",
+ "subscriptionId": "91d12660-3dec-467a-be2a-213b5544ddc0",
+ "certificateName": "cert",
+ "If-Match": "AAAAAAAADGk=",
+ "request": {
+ "certificate": "#####################################"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "properties": {
+ "subject": "CN=andbucdevice1",
+ "expiry": "Sat, 31 Dec 2039 23:59:59 GMT",
+ "thumbprint": "97388663832D0393C9246CAB4FBA2C8677185A25",
+ "isVerified": true,
+ "created": "Thu, 12 Oct 2017 19:23:50 GMT",
+ "updated": "Thu, 12 Oct 2017 19:26:56 GMT"
+ },
+ "id": "/subscriptions/91d12660-3dec-467a-be2a-213b5544ddc0/resourceGroups/myResourceGroup/providers/Microsoft.Devices/ProvisioningServices/myFirstProvisioningService/certificates/cert",
+ "name": "cert",
+ "type": "Microsoft.Devices/ProvisioningServices/Certificates",
+ "etag": "AAAAAAExpTQ="
+ }
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/iotdps.json b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/iotdps.json
new file mode 100644
index 000000000000..410067ac2fe2
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/Microsoft.Devices/stable/2020-03-01/iotdps.json
@@ -0,0 +1,2515 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-03-01",
+ "x-ms-code-generation-settings": {
+ "host": "management.azure.com"
+ },
+ "title": "iotDpsClient",
+ "description": "API for using the Azure IoT Hub Device Provisioning Service features."
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow.",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/providers/Microsoft.Devices/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "operationId": "Operations_List",
+ "x-ms-examples": {
+ "DPSOperations": {
+ "$ref": "./examples/DPSOperations.json"
+ }
+ },
+ "description": "Lists all of the available Microsoft.Devices REST API operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The request has succeeded.",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "DpsCertificate_Get",
+ "description": "Get the certificate from the provisioning service.",
+ "x-ms-examples": {
+ "DPSGetCertificate": {
+ "$ref": "./examples/DPSGetCertificate.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the certificate to retrieve."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the provisioning service the certificate is associated with."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the certificate."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Metadata for the specified certificate.",
+ "schema": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Upload the certificate to the provisioning service.",
+ "description": "Add new certificate or update an existing certificate.",
+ "operationId": "DpsCertificate_CreateOrUpdate",
+ "x-ms-examples": {
+ "DPSCreateOrUpdateCertificate": {
+ "$ref": "./examples/DPSCertificateCreateOrUpdate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "description": "Resource group identifier.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "description": "The name of the provisioning service.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "description": "The name of the certificate create or update.",
+ "required": true,
+ "type": "string",
+ "maxLength": 256
+ },
+ {
+ "name": "certificateDescription",
+ "in": "body",
+ "description": "The certificate body.",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/CertificateBodyDescription"
+ }
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": false,
+ "type": "string",
+ "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "If certificate already exist and update was successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "operationId": "DpsCertificate_Delete",
+ "summary": "Delete the Provisioning Service Certificate.",
+ "description": "Deletes the specified certificate associated with the Provisioning Service",
+ "x-ms-examples": {
+ "DPSDeleteCertificate": {
+ "$ref": "./examples/DPSDeleteCertificate.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the certificate"
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the provisioning service."
+ },
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "This is a mandatory field, and is the logical name of the certificate that the provisioning service will access by."
+ },
+ {
+ "name": "certificate.name",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "This is optional, and it is the Common Name of the certificate."
+ },
+ {
+ "name": "certificate.rawBytes",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte",
+ "description": "Raw data within the certificate."
+ },
+ {
+ "name": "certificate.isVerified",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if certificate has been verified by owner of the private key."
+ },
+ {
+ "name": "certificate.purpose",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "A description that mentions the purpose of the certificate.",
+ "enum": [
+ "clientAuthentication",
+ "serverAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePurpose",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "certificate.created",
+ "in": "query",
+ "description": "Time the certificate is created.",
+ "required": false,
+ "type": "string",
+ "format": "date-time"
+ },
+ {
+ "name": "certificate.lastUpdated",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Time the certificate is last updated.",
+ "format": "date-time"
+ },
+ {
+ "name": "certificate.hasPrivateKey",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate contains a private key."
+ },
+ {
+ "name": "certificate.nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Random number generated to indicate Proof of Possession."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the non-security related metadata of the provisioning service.",
+ "description": "Get the metadata of the provisioning service without SAS keys.",
+ "operationId": "IotDpsResource_Get",
+ "x-ms-examples": {
+ "DPSGet": {
+ "$ref": "./examples/DPSGet.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the provisioning service to retrieve."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group name."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Provisioning service description with no keys is included in the response.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "default": {
+ "description": "Default error response",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update the metadata of the provisioning service.",
+ "description": "Create or update the metadata of the provisioning service. The usual pattern to modify a property is to retrieve the provisioning service metadata and security metadata, and then combine them with the modified values in a new body to update the provisioning service.",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotDpsResource_CreateOrUpdate",
+ "x-ms-examples": {
+ "DPSCreate": {
+ "$ref": "./examples/DPSCreate.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to create or update."
+ },
+ {
+ "name": "iotDpsDescription",
+ "in": "body",
+ "required": true,
+ "description": "Description of the provisioning service to create or update.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains all the non-security properties of the provisioning service. Security-related properties are set to null.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "patch": {
+ "tags": [
+ "PATCH"
+ ],
+ "summary": "Update an existing provisioning service's tags.",
+ "description": "Update an existing provisioning service's tags. to update other fields use the CreateOrUpdate method",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotDpsResource_Update",
+ "x-ms-examples": {
+ "DPSPatch": {
+ "$ref": "./examples/DPSPatch.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to create or update."
+ },
+ {
+ "name": "ProvisioningServiceTags",
+ "in": "body",
+ "required": true,
+ "description": "Updated tag information to set into the provisioning service instance.",
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Provisioning Service was successfully updated",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete the Provisioning Service",
+ "description": "Deletes the Provisioning Service.",
+ "x-ms-long-running-operation": true,
+ "operationId": "IotDpsResource_Delete",
+ "x-ms-examples": {
+ "DPSDelete": {
+ "$ref": "./examples/DPSDelete.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to delete."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "The provisioning service resource provider always returns a 202 Accepted status code with valid Location and Retry-After headers. The resource provider also sets the Azure-AsyncOperation header with a URL that points to the operation resource for this operation. Subsequent GET attempts on the resource after a DELETE operation return a resource representation that indicates a transitional provisioning state (such as Terminating). To retrieve the status of the operation, a client can either poll the URL returned in the Location header after the Retry-After interval, get the provisioning service status directly, or query the operation resource."
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation. The body contains the resource representation that indicates a transitional provisioning state."
+ },
+ "204": {
+ "description": "Once the long running delete operation completes successfully, a 204 No Content status code is returned when the status polling request finds the provisioning service metadata in the service and the status of the delete operation is set to a completed state."
+ },
+ "404": {
+ "description": "After the long running delete operation completes successfully, a 404 Not Found is returned when the status polling request no longer finds the provisioning service metadata in the service."
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "DpsCertificate_List",
+ "description": "Get all the certificates tied to the provisioning service.",
+ "x-ms-examples": {
+ "DPSGetCertificates": {
+ "$ref": "./examples/DPSGetCertificates.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of resource group."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service to retrieve certificates for."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of certificate descriptions in a JSON-serialized array.",
+ "schema": {
+ "$ref": "#/definitions/CertificateListDescription"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/provisioningServices": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get all the provisioning services in a subscription.",
+ "description": "List all the provisioning services for a given subscription id.",
+ "operationId": "IotDpsResource_ListBySubscription",
+ "x-ms-examples": {
+ "DPSListBySubscription": {
+ "$ref": "./examples/DPSListBySubscription.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the metadata from all the provisioning services in the subscription.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotDpsResource_ListByResourceGroup",
+ "description": "Get a list of all provisioning services in the given resource group.",
+ "x-ms-examples": {
+ "DPSListByResourceGroup": {
+ "$ref": "./examples/DPSListByResourceGroup.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "List of provisioning services in the resource group.",
+ "schema": {
+ "$ref": "#/definitions/ProvisioningServiceDescriptionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/operationresults/{operationId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "operationId": "IotDpsResource_GetOperationResult",
+ "description": "Gets the status of a long running operation, such as create, update or delete a provisioning service.",
+ "x-ms-examples": {
+ "DPSGetOperationResult": {
+ "$ref": "./examples/DPSGetOperationResult.json"
+ }
+ },
+ "consumes": [],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "operationId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Operation id corresponding to long running operation. Use this to poll for the status."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group identifier."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service that the operation is running on."
+ },
+ {
+ "name": "asyncinfo",
+ "in": "query",
+ "description": "Async header used to poll on the status of the operation, obtained while creating the long running operation.",
+ "required": true,
+ "type": "string",
+ "default": "true"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The status of the long running operation.",
+ "schema": {
+ "$ref": "#/definitions/AsyncOperationResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/skus": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the list of valid SKUs for a provisioning service.",
+ "description": "Gets the list of valid SKUs and tiers for a provisioning service.",
+ "operationId": "IotDpsResource_listValidSkus",
+ "x-ms-examples": {
+ "DPSGetValidSku": {
+ "$ref": "./examples/DPSGetValidSku.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of resource group."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of the valid SKUs for this provisioning service.",
+ "schema": {
+ "$ref": "#/definitions/IotDpsSkuDefinitionListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/generateVerificationCode": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "DpsCertificate_GenerateVerificationCode",
+ "description": "Generate verification code for Proof of Possession.",
+ "x-ms-examples": {
+ "DPSGenerateVerificationCode": {
+ "$ref": "./examples/DPSGenerateVerificationCode.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The mandatory logical name of the certificate, that the provisioning service uses to access."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "name of resource group."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of provisioning service."
+ },
+ {
+ "name": "certificate.name",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Common Name for the certificate."
+ },
+ {
+ "name": "certificate.rawBytes",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte",
+ "description": "Raw data of certificate."
+ },
+ {
+ "name": "certificate.isVerified",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate has been verified by owner of the private key."
+ },
+ {
+ "name": "certificate.purpose",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Description mentioning the purpose of the certificate.",
+ "enum": [
+ "clientAuthentication",
+ "serverAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePurpose",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "certificate.created",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate creation time."
+ },
+ {
+ "name": "certificate.lastUpdated",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate last updated time."
+ },
+ {
+ "name": "certificate.hasPrivateKey",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate contains private key."
+ },
+ {
+ "name": "certificate.nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Random number generated to indicate Proof of Possession."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Generated verification code for that certificate is returned.",
+ "schema": {
+ "$ref": "#/definitions/VerificationCodeResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/certificates/{certificateName}/verify": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "DpsCertificate_VerifyCertificate",
+ "summary": "Verify certificate's private key possession.",
+ "description": "Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre uploaded certificate.",
+ "x-ms-examples": {
+ "DPSVerifyCertificate": {
+ "$ref": "./examples/DPSVerifyCertificate.json"
+ }
+ },
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "parameters": [
+ {
+ "name": "certificateName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The mandatory logical name of the certificate, that the provisioning service uses to access."
+ },
+ {
+ "name": "If-Match",
+ "in": "header",
+ "required": true,
+ "type": "string",
+ "description": "ETag of the certificate."
+ },
+ {
+ "name": "request",
+ "in": "body",
+ "required": true,
+ "description": "The name of the certificate",
+ "schema": {
+ "$ref": "#/definitions/VerificationCodeRequest"
+ }
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Resource group name."
+ },
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Provisioning service name."
+ },
+ {
+ "name": "certificate.name",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Common Name for the certificate."
+ },
+ {
+ "name": "certificate.rawBytes",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "byte",
+ "description": "Raw data of certificate."
+ },
+ {
+ "name": "certificate.isVerified",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate has been verified by owner of the private key."
+ },
+ {
+ "name": "certificate.purpose",
+ "in": "query",
+ "required": false,
+ "description": "Describe the purpose of the certificate.",
+ "type": "string",
+ "enum": [
+ "clientAuthentication",
+ "serverAuthentication"
+ ],
+ "x-ms-enum": {
+ "name": "CertificatePurpose",
+ "modelAsString": true
+ }
+ },
+ {
+ "name": "certificate.created",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate creation time."
+ },
+ {
+ "name": "certificate.lastUpdated",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "format": "date-time",
+ "description": "Certificate last updated time."
+ },
+ {
+ "name": "certificate.hasPrivateKey",
+ "in": "query",
+ "required": false,
+ "type": "boolean",
+ "description": "Indicates if the certificate contains private key."
+ },
+ {
+ "name": "certificate.nonce",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "Random number generated to indicate Proof of Possession."
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.Devices/checkProvisioningServiceNameAvailability": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotDpsResource_CheckProvisioningServiceNameAvailability",
+ "x-ms-examples": {
+ "DPSCheckName": {
+ "$ref": "./examples/DPSCheckNameAvailability.json"
+ }
+ },
+ "summary": "Check if a provisioning service name is available.",
+ "description": "Check if a provisioning service name is available. This will validate if the name is syntactically valid and if the name is usable",
+ "parameters": [
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "arguments",
+ "in": "body",
+ "required": true,
+ "description": "Set the name parameter in the OperationInputs structure to the name of the provisioning service to check.",
+ "schema": {
+ "$ref": "#/definitions/OperationInputs"
+ }
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized response that specifies whether the provisioning service name is available. If the name is not available, the body contains the reason.",
+ "schema": {
+ "$ref": "#/definitions/NameAvailabilityInfo"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotDpsResource_ListKeys",
+ "x-ms-examples": {
+ "DPSListKeys": {
+ "$ref": "./examples/DPSListKeys.json"
+ }
+ },
+ "summary": "Get the security metadata for a provisioning service.",
+ "description": "List the primary and secondary keys for a provisioning service.",
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The provisioning service name to get the shared access keys for."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "resource group name"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized array of shared access policies, including keys, that you can use to access the provisioning service endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRuleListResult"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{provisioningServiceName}/keys/{keyName}/listkeys": {
+ "post": {
+ "tags": [
+ "POST"
+ ],
+ "operationId": "IotDpsResource_ListKeysForKeyName",
+ "x-ms-examples": {
+ "DPSGetKey": {
+ "$ref": "./examples/DPSGetKey.json"
+ }
+ },
+ "summary": "Get a shared access policy by name from a provisioning service.",
+ "description": "List primary and secondary keys for a specific key name",
+ "parameters": [
+ {
+ "name": "provisioningServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the provisioning service."
+ },
+ {
+ "name": "keyName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Logical key name to get key-values for."
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the provisioning service.",
+ "in": "path",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "$ref": "#/parameters/api-version"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "This is a synchronous operation. The body contains a JSON-serialized shared access policy, including keys, that you can use to access one or more provisioning service endpoints.",
+ "schema": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]"
+ }
+ },
+ "default": {
+ "description": "Default error response.",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private link resources",
+ "description": "List private link resources for the given provisioning service",
+ "operationId": "IotDpsResource_ListPrivateLinkResources",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/DPSListPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private link resources",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResources"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateLinkResources/{groupId}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get the specified private link resource",
+ "description": "Get the specified private link resource for the given provisioning service",
+ "operationId": "IotDpsResource_GetPrivateLinkResources",
+ "x-ms-examples": {
+ "PrivateLinkResources_List": {
+ "$ref": "./examples/DPSGetPrivateLinkResources.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/groupId"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the specified of private link resource",
+ "schema": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "List private endpoint connections",
+ "description": "List private endpoint connection properties",
+ "operationId": "IotDpsResource_ListPrivateEndpointConnections",
+ "x-ms-examples": {
+ "PrivateEndpointConnections_List": {
+ "$ref": "./examples/DPSListPrivateEndpointConnections.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the list of private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionsList"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Devices/provisioningServices/{resourceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "get": {
+ "tags": [
+ "GET"
+ ],
+ "summary": "Get private endpoint connection",
+ "description": "Get private endpoint connection properties",
+ "operationId": "IotDpsResource_GetPrivateEndpointConnection",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Get": {
+ "$ref": "./examples/DPSGetPrivateEndpointConnection.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The body contains the private endpoint connection properties",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "put": {
+ "tags": [
+ "PUT"
+ ],
+ "summary": "Create or update private endpoint connection",
+ "description": "Create or update the status of a private endpoint connection with the specified name",
+ "operationId": "IotDpsResource_CreateOrUpdatePrivateEndpointConnection",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_CreateOrUpdate": {
+ "$ref": "./examples/DPSCreateOrUpdatePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ },
+ {
+ "name": "privateEndpointConnection",
+ "in": "body",
+ "description": "The private endpoint connection with updated properties",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "This is a long running operation. The operation returns a 201 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation. If successful, the operation returns HTTP status code of 201 (OK).",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the update operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ },
+ "delete": {
+ "tags": [
+ "DELETE"
+ ],
+ "summary": "Delete private endpoint connection",
+ "description": "Delete private endpoint connection with the specified name",
+ "operationId": "IotDpsResource_DeletePrivateEndpointConnection",
+ "x-ms-examples": {
+ "PrivateEndpointConnection_Delete": {
+ "$ref": "./examples/DPSDeletePrivateEndpointConnection.json"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "parameters": [
+ {
+ "$ref": "#/parameters/api-version"
+ },
+ {
+ "$ref": "#/parameters/subscriptionId"
+ },
+ {
+ "$ref": "#/parameters/resourceGroupName"
+ },
+ {
+ "$ref": "#/parameters/resourceName"
+ },
+ {
+ "$ref": "#/parameters/privateEndpointConnectionName"
+ }
+ ],
+ "responses": {
+ "202": {
+ "description": "This is a long running operation. The operation returns a 202 if the validation is complete. The response includes an Azure-AsyncOperation header that contains a status URL. Clients are expected to poll the status URL for the status of the operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "200": {
+ "description": "This is returned as a response to the status polling request for the delete operation.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "204": {
+ "description": "PrivateEndpoint does not exist."
+ },
+ "default": {
+ "description": "DefaultErrorResponse",
+ "schema": {
+ "$ref": "#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "deprecated": false
+ }
+ }
+ },
+ "definitions": {
+ "AsyncOperationResult": {
+ "type": "object",
+ "description": "Result of a long running operation.",
+ "properties": {
+ "status": {
+ "description": "current status of a long running operation.",
+ "type": "string"
+ },
+ "error": {
+ "description": "Error message containing code, description and details",
+ "$ref": "#/definitions/ErrorMesssage"
+ }
+ }
+ },
+ "ErrorMesssage": {
+ "description": "Error response containing message and code.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "standard error code",
+ "type": "string"
+ },
+ "message": {
+ "description": "standard error description",
+ "type": "string"
+ },
+ "details": {
+ "description": "detailed summary of error",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateListDescription": {
+ "description": "The JSON-serialized array of Certificate objects.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The array of Certificate objects.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/CertificateResponse"
+ }
+ }
+ }
+ },
+ "CertificateBodyDescription": {
+ "description": "The JSON-serialized X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "certificate": {
+ "description": "Base-64 representation of the X509 leaf certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ },
+ "CertificateResponse": {
+ "description": "The X509 Certificate.",
+ "type": "object",
+ "properties": {
+ "properties": {
+ "description": "properties of a certificate",
+ "$ref": "#/definitions/CertificateProperties"
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "description": "The name of the certificate.",
+ "type": "string",
+ "readOnly": true
+ },
+ "etag": {
+ "description": "The entity tag.",
+ "type": "string",
+ "readOnly": true
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "CertificateProperties": {
+ "description": "The description of an X509 CA Certificate.",
+ "type": "object",
+ "properties": {
+ "subject": {
+ "description": "The certificate's subject name.",
+ "type": "string",
+ "readOnly": true
+ },
+ "expiry": {
+ "description": "The certificate's expiration date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "thumbprint": {
+ "description": "The certificate's thumbprint.",
+ "type": "string",
+ "readOnly": true
+ },
+ "isVerified": {
+ "description": "Determines whether certificate has been verified.",
+ "type": "boolean",
+ "readOnly": true
+ },
+ "created": {
+ "description": "The certificate's creation date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ },
+ "updated": {
+ "description": "The certificate's last update date and time.",
+ "type": "string",
+ "format": "date-time-rfc1123",
+ "readOnly": true
+ }
+ }
+ },
+ "IotDpsSkuInfo": {
+ "type": "object",
+ "description": "List of possible provisioning service SKUs.",
+ "properties": {
+ "name": {
+ "description": "Sku name.",
+ "enum": [
+ "S1"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotDpsSku",
+ "modelAsString": true
+ }
+ },
+ "tier": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Pricing tier name of the provisioning service."
+ },
+ "capacity": {
+ "format": "int64",
+ "type": "integer",
+ "description": "The number of units to provision"
+ }
+ }
+ },
+ "ProvisioningServiceDescription": {
+ "description": "The description of the provisioning service.",
+ "type": "object",
+ "properties": {
+ "etag": {
+ "description": "The Etag field is *not* required. If it is provided in the response body, it must also be provided as a header per the normal ETag convention.",
+ "type": "string"
+ },
+ "properties": {
+ "description": "Service specific properties for a provisioning service",
+ "$ref": "#/definitions/IotDpsPropertiesDescription"
+ },
+ "sku": {
+ "description": "Sku info for a provisioning Service.",
+ "$ref": "#/definitions/IotDpsSkuInfo"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "required": [
+ "sku",
+ "properties"
+ ]
+ },
+ "IotDpsPropertiesDescription": {
+ "description": "the service specific properties of a provisioning service, including keys, linked iot hubs, current state, and system generated properties such as hostname and idScope",
+ "type": "object",
+ "properties": {
+ "state": {
+ "description": "Current state of the provisioning service.",
+ "enum": [
+ "Activating",
+ "Active",
+ "Deleting",
+ "Deleted",
+ "ActivationFailed",
+ "DeletionFailed",
+ "Transitioning",
+ "Suspending",
+ "Suspended",
+ "Resuming",
+ "FailingOver",
+ "FailoverFailed"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "state",
+ "modelAsString": true
+ }
+ },
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Whether requests from Public Network are allowed",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "modelAsString": true,
+ "name": "PublicNetworkAccess"
+ }
+ },
+ "ipFilterRules": {
+ "description": "The IP filter rules.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IpFilterRule"
+ }
+ },
+ "privateEndpointConnections": {
+ "description": "Private endpoint connections created on this IotHub",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "provisioningState": {
+ "description": "The ARM provisioning state of the provisioning service.",
+ "type": "string"
+ },
+ "iotHubs": {
+ "type": "array",
+ "description": "List of IoT hubs associated with this provisioning service.",
+ "items": {
+ "$ref": "#/definitions/IotHubDefinitionDescription"
+ }
+ },
+ "allocationPolicy": {
+ "enum": [
+ "Hashed",
+ "GeoLatency",
+ "Static"
+ ],
+ "type": "string",
+ "description": "Allocation policy to be used by this provisioning service.",
+ "x-ms-enum": {
+ "name": "AllocationPolicy",
+ "modelAsString": true
+ }
+ },
+ "serviceOperationsHostName": {
+ "description": "Service endpoint for provisioning service.",
+ "type": "string",
+ "readOnly": true
+ },
+ "deviceProvisioningHostName": {
+ "type": "string",
+ "description": "Device endpoint for this provisioning service.",
+ "readOnly": true
+ },
+ "idScope": {
+ "type": "string",
+ "description": "Unique identifier of this provisioning service.",
+ "readOnly": true
+ },
+ "authorizationPolicies": {
+ "description": "List of authorization keys for a provisioning service.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]"
+ }
+ }
+ }
+ },
+ "IotHubDefinitionDescription": {
+ "type": "object",
+ "description": "Description of the IoT hub.",
+ "properties": {
+ "applyAllocationPolicy": {
+ "description": "flag for applying allocationPolicy or not for a given iot hub.",
+ "type": "boolean"
+ },
+ "allocationWeight": {
+ "description": "weight to apply for a given iot h.",
+ "format": "int32",
+ "type": "integer"
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Host name of the IoT hub."
+ },
+ "connectionString": {
+ "type": "string",
+ "description": "Connection string of the IoT hub."
+ },
+ "location": {
+ "type": "string",
+ "description": "ARM region of the IoT hub."
+ }
+ },
+ "required": [
+ "connectionString",
+ "location"
+ ]
+ },
+ "IpFilterRule": {
+ "description": "The IP filter rules for a provisioning Service.",
+ "type": "object",
+ "properties": {
+ "filterName": {
+ "description": "The name of the IP filter rule.",
+ "type": "string"
+ },
+ "action": {
+ "description": "The desired action for requests captured by this rule.",
+ "enum": [
+ "Accept",
+ "Reject"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterActionType",
+ "modelAsString": false
+ }
+ },
+ "ipMask": {
+ "description": "A string that contains the IP address range in CIDR notation for the rule.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Target for requests captured by this rule.",
+ "enum": [
+ "all",
+ "serviceApi",
+ "deviceApi"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IpFilterTargetType",
+ "modelAsString": false
+ }
+ }
+ },
+ "required": [
+ "filterName",
+ "action",
+ "ipMask"
+ ]
+ },
+ "PrivateLinkResources": {
+ "description": "The available private link resources for a provisioning service",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of available private link resources for a provisioning service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GroupIdInformation"
+ }
+ }
+ }
+ },
+ "GroupIdInformation": {
+ "description": "The group information for creating a private endpoint on a provisioning service",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "description": "The properties for a group information object",
+ "$ref": "#/definitions/GroupIdInformationProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "GroupIdInformationProperties": {
+ "description": "The properties for a group information object",
+ "type": "object",
+ "properties": {
+ "groupId": {
+ "type": "string",
+ "description": "The group id"
+ },
+ "requiredMembers": {
+ "description": "The required members for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "description": "The required DNS zones for a specific group id",
+ "type": "array",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateEndpointConnectionsList": {
+ "description": "The list of private endpoint connections for a provisioning service",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "The private endpoint connection of a provisioning service",
+ "x-ms-azure-resource": true,
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "description": "The properties of a private endpoint connection",
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties"
+ }
+ },
+ "required": [
+ "properties"
+ ]
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "The properties of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "privateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "$ref": "#/definitions/PrivateEndpoint"
+ },
+ "privateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "$ref": "#/definitions/PrivateLinkServiceConnectionState"
+ }
+ },
+ "required": [
+ "privateLinkServiceConnectionState"
+ ]
+ },
+ "PrivateEndpoint": {
+ "description": "The private endpoint property of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionState": {
+ "description": "The current state of a private endpoint connection",
+ "type": "object",
+ "properties": {
+ "status": {
+ "description": "The status of a private endpoint connection",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkServiceConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "type": "string",
+ "description": "The description for the current state of a private endpoint connection"
+ },
+ "actionsRequired": {
+ "type": "string",
+ "description": "Actions required for a private endpoint connection"
+ }
+ },
+ "required": [
+ "status",
+ "description"
+ ]
+ },
+ "SharedAccessSignatureAuthorizationRule[AccessRightsDescription]": {
+ "type": "object",
+ "description": "Description of the shared access key.",
+ "properties": {
+ "keyName": {
+ "type": "string",
+ "description": "Name of the key."
+ },
+ "primaryKey": {
+ "type": "string",
+ "description": "Primary SAS key value."
+ },
+ "secondaryKey": {
+ "type": "string",
+ "description": "Secondary SAS key value."
+ },
+ "rights": {
+ "description": "Rights that this key has.",
+ "enum": [
+ "ServiceConfig",
+ "EnrollmentRead",
+ "EnrollmentWrite",
+ "DeviceConnect",
+ "RegistrationStatusRead",
+ "RegistrationStatusWrite"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "AccessRightsDescription",
+ "modelAsString": true
+ }
+ }
+ },
+ "required": [
+ "keyName",
+ "rights"
+ ]
+ },
+ "Resource": {
+ "description": "The common properties of an Azure resource.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource name.",
+ "pattern": "^(?![0-9]+$)(?!-)[a-zA-Z0-9-]{2,49}[a-zA-Z0-9]$"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "The resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "The resource tags."
+ }
+ },
+ "x-ms-azure-resource": true,
+ "required": [
+ "location"
+ ]
+ },
+ "OperationListResult": {
+ "description": "Result of the request to list provisioning service operations. It contains a list of operations and a URL link to get the next set of results.",
+ "properties": {
+ "value": {
+ "description": "Provisioning service operations supported by the Microsoft.Devices resource provider.",
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/Operation"
+ }
+ },
+ "nextLink": {
+ "readOnly": true,
+ "type": "string",
+ "description": "URL to get the next set of operation list results if there are any."
+ }
+ }
+ },
+ "Operation": {
+ "description": "Provisioning Service REST API operation.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Operation name: {provider}/{resource}/{read | write | action | delete}"
+ },
+ "display": {
+ "description": "The object that represents the operation.",
+ "properties": {
+ "provider": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Service provider: Microsoft Devices."
+ },
+ "resource": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Type: ProvisioningServices."
+ },
+ "operation": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Name of the operation."
+ }
+ }
+ }
+ }
+ },
+ "ErrorDetails": {
+ "description": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "httpStatusCode": {
+ "description": "The HTTP status code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ },
+ "details": {
+ "description": "The error details.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "SharedAccessSignatureAuthorizationRuleListResult": {
+ "type": "object",
+ "description": "List of shared access keys.",
+ "properties": {
+ "value": {
+ "description": "The list of shared access policies.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/SharedAccessSignatureAuthorizationRule[AccessRightsDescription]"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotDpsSkuDefinitionListResult": {
+ "type": "object",
+ "description": "List of available SKUs.",
+ "properties": {
+ "value": {
+ "description": "The list of SKUs",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/IotDpsSkuDefinition"
+ }
+ },
+ "nextLink": {
+ "description": "The next link.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "IotDpsSkuDefinition": {
+ "type": "object",
+ "description": "Available SKUs of tier and units.",
+ "properties": {
+ "name": {
+ "description": "Sku name.",
+ "enum": [
+ "S1"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "IotDpsSku",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "OperationInputs": {
+ "description": "Input values for operation results call.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "The name of the Provisioning Service to check.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name"
+ ]
+ },
+ "NameAvailabilityInfo": {
+ "type": "object",
+ "description": "Description of name availability.",
+ "properties": {
+ "nameAvailable": {
+ "description": "specifies if a name is available or not",
+ "type": "boolean"
+ },
+ "reason": {
+ "description": "specifies the reason a name is unavailable",
+ "enum": [
+ "Invalid",
+ "AlreadyExists"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "NameUnavailabilityReason",
+ "modelAsString": true
+ }
+ },
+ "message": {
+ "description": "message containing a detailed reason name is unavailable",
+ "type": "string"
+ }
+ }
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a Provisioning Service instance."
+ },
+ "ProvisioningServiceDescriptionListResult": {
+ "type": "object",
+ "description": "List of provisioning service descriptions.",
+ "properties": {
+ "value": {
+ "description": "List of provisioning service descriptions.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ProvisioningServiceDescription"
+ }
+ },
+ "nextLink": {
+ "description": "the next link",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "VerificationCodeResponse": {
+ "type": "object",
+ "description": "Description of the response of the verification code.",
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "Name of certificate.",
+ "readOnly": true
+ },
+ "etag": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Request etag."
+ },
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource identifier."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The resource type."
+ },
+ "properties": {
+ "type": "object",
+ "properties": {
+ "verificationCode": {
+ "type": "string",
+ "description": "Verification code."
+ },
+ "subject": {
+ "type": "string",
+ "description": "Certificate subject."
+ },
+ "expiry": {
+ "type": "string",
+ "description": "Code expiry."
+ },
+ "thumbprint": {
+ "type": "string",
+ "description": "Certificate thumbprint."
+ },
+ "isVerified": {
+ "type": "boolean",
+ "description": "Indicate if the certificate is verified by owner of private key."
+ },
+ "created": {
+ "type": "string",
+ "description": "Certificate created time."
+ },
+ "updated": {
+ "type": "string",
+ "description": "Certificate updated time."
+ }
+ }
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "VerificationCodeRequest": {
+ "type": "object",
+ "description": "The JSON-serialized leaf certificate",
+ "properties": {
+ "certificate": {
+ "description": "base-64 representation of X509 certificate .cer file or just .pem file content.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "subscriptionId": {
+ "name": "subscriptionId",
+ "in": "path",
+ "description": "The subscription identifier.",
+ "required": true,
+ "type": "string"
+ },
+ "api-version": {
+ "name": "api-version",
+ "in": "query",
+ "description": "The version of the API.",
+ "required": true,
+ "type": "string"
+ },
+ "resourceGroupName": {
+ "name": "resourceGroupName",
+ "description": "The name of the resource group that contains the provisioning service.",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "resourceName": {
+ "name": "resourceName",
+ "in": "path",
+ "description": "The name of the provisioning service.",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "groupId": {
+ "name": "groupId",
+ "in": "path",
+ "description": "The name of the private link resource",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ },
+ "privateEndpointConnectionName": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.azureresourceschema.md b/specification/deviceprovisioningservices/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..6e5d5657731e
--- /dev/null
+++ b/specification/deviceprovisioningservices/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,60 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-devices-2020-01-01
+ - tag: schema-devices-2018-01-22
+ - tag: schema-devices-2017-11-15
+ - tag: schema-devices-2017-08-21-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-devices-2020-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-devices-2020-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Devices/stable/2020-01-01/iotdps.json
+
+```
+
+### Tag: schema-devices-2018-01-22 and azureresourceschema
+
+``` yaml $(tag) == 'schema-devices-2018-01-22' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Devices/stable/2018-01-22/iotdps.json
+
+```
+
+### Tag: schema-devices-2017-11-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-devices-2017-11-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Devices/stable/2017-11-15/iotdps.json
+
+```
+
+### Tag: schema-devices-2017-08-21-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-devices-2017-08-21-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Devices/preview/2017-08-21-preview/iotdps.json
+
+```
diff --git a/specification/deviceprovisioningservices/resource-manager/readme.md b/specification/deviceprovisioningservices/resource-manager/readme.md
index 9d6a860f4177..02fbc7964bbe 100644
--- a/specification/deviceprovisioningservices/resource-manager/readme.md
+++ b/specification/deviceprovisioningservices/resource-manager/readme.md
@@ -4,10 +4,10 @@
This is the AutoRest configuration file for Device Provisioning Services.
-
-
---
+
## Getting Started
+
To build the SDK for DeviceProvisioningServices, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,16 +15,36 @@ To build the SDK for DeviceProvisioningServices, simply [Install AutoRest](https
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
### Basic Information
+
These are the global settings for the API.
``` yaml
openapi-type: arm
-tag: package-2018-01
+tag: package-preview-2020-09
+```
+
+
+### Tag: package-preview-2020-09
+
+These settings apply only when `--tag=package-preview-2020-09` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2020-09'
+input-file:
+ - Microsoft.Devices/preview/2020-09-01-preview/iotdps.json
+```
+### Tag: package-2020-03
+
+These settings apply only when `--tag=package-2020-03` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-03'
+input-file:
+ - Microsoft.Devices/stable/2020-03-01/iotdps.json
```
### Tag: package-2017-08
@@ -64,8 +84,8 @@ input-file:
```
---
-# Code Generation
+# Code Generation
## Swagger to SDK
@@ -80,9 +100,11 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js deviceprovisioningservices/resource-manager
```
-
## C#
These settings apply only when `--csharp` is specified on the command line.
@@ -113,11 +135,13 @@ python:
package-name: azure-mgmt-iothubprovisioningservices
clear-output-folder: true
```
+
``` yaml $(python) && $(python-mode) == 'update'
python:
no-namespace-folders: true
output-folder: $(python-sdks-folder)/iothub/azure-mgmt-iothubprovisioningservices/azure/mgmt/iothubprovisioningservices
```
+
``` yaml $(python) && $(python-mode) == 'create'
python:
basic-setup-py: true
@@ -190,9 +214,11 @@ regenerate-manager: true
generate-interface: true
```
+## AzureResourceSchema
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-## Multi-API/Profile support for AutoRest v3 generators
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -211,11 +237,10 @@ input-file:
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/devops/resource-manager/readme.azureresourceschema.md b/specification/devops/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..f9ba7f8d1279
--- /dev/null
+++ b/specification/devops/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-devops-2019-07-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-devops-2019-07-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-devops-2019-07-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DevOps/preview/2019-07-01-preview/devops.json
+
+```
diff --git a/specification/devops/resource-manager/readme.md b/specification/devops/resource-manager/readme.md
index bf7b56068c9c..619f05952d10 100644
--- a/specification/devops/resource-manager/readme.md
+++ b/specification/devops/resource-manager/readme.md
@@ -59,6 +59,9 @@ swagger-to-sdk:
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_devops']
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js devops/resource-manager
```
## Go
@@ -81,6 +84,10 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/devspaces/resource-manager/readme.azureresourceschema.md b/specification/devspaces/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..30adf4995497
--- /dev/null
+++ b/specification/devspaces/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-devspaces-2019-04-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-devspaces-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-devspaces-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DevSpaces/stable/2019-04-01/devspaces.json
+
+```
diff --git a/specification/devspaces/resource-manager/readme.md b/specification/devspaces/resource-manager/readme.md
index 9bd342062655..35a8bf01c518 100644
--- a/specification/devspaces/resource-manager/readme.md
+++ b/specification/devspaces/resource-manager/readme.md
@@ -55,6 +55,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js devspaces/resource-manager
```
## C#
@@ -111,6 +114,10 @@ regenerate-manager: true
generate-interface: true
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/devtestlabs/resource-manager/readme.azureresourceschema.md b/specification/devtestlabs/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..aac574024db7
--- /dev/null
+++ b/specification/devtestlabs/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,48 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-devtestlab-2018-09-15
+ - tag: schema-devtestlab-2016-05-15
+ - tag: schema-devtestlab-2015-05-21-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-devtestlab-2018-09-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-devtestlab-2018-09-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DevTestLab/stable/2018-09-15/DTL.json
+
+```
+
+### Tag: schema-devtestlab-2016-05-15 and azureresourceschema
+
+``` yaml $(tag) == 'schema-devtestlab-2016-05-15' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DevTestLab/stable/2016-05-15/DTL.json
+
+```
+
+### Tag: schema-devtestlab-2015-05-21-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-devtestlab-2015-05-21-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DevTestLab/preview/2015-05-21-preview/DTL.json
+
+```
diff --git a/specification/devtestlabs/resource-manager/readme.md b/specification/devtestlabs/resource-manager/readme.md
index 1e4ac41bae02..c125824d8e57 100644
--- a/specification/devtestlabs/resource-manager/readme.md
+++ b/specification/devtestlabs/resource-manager/readme.md
@@ -78,6 +78,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_devtestlabs']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js devtestlabs/resource-manager
```
@@ -130,6 +133,10 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json
index b17bda728464..fe035fde82aa 100644
--- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json
+++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json
@@ -48,7 +48,7 @@
}
],
"responses": {
- "200": {
+ "201": {
"description": "Success",
"schema": {
"$ref": "#/definitions/NonPagedModelDataCollection"
diff --git a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json
index b376ddb14860..b8b2b44eace4 100644
--- a/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json
+++ b/specification/digitaltwins/data-plane/Microsoft.DigitalTwins/preview/2020-05-31-preview/examples/ModelAdd.json
@@ -31,7 +31,7 @@
"api-version": "2020-05-31-preview"
},
"responses": {
- "200": {
+ "201": {
"body": [
{
"id": "dtmi:com:example:Sample;1",
diff --git a/specification/digitaltwins/data-plane/readme.md b/specification/digitaltwins/data-plane/readme.md
index f39f368708dd..c5a96a455705 100644
--- a/specification/digitaltwins/data-plane/readme.md
+++ b/specification/digitaltwins/data-plane/readme.md
@@ -77,3 +77,28 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
## CSharp
See configuration in [readme.csharp.md](./readme.csharp.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.DigitalTwins/preview/2020-05-31-preview/digitaltwins.json
+
+```
+
+If there are files that should not be in the `all-api-versions` set,
+uncomment the `exclude-file` section below and add the file paths.
+
+``` yaml $(tag) == 'all-api-versions'
+#exclude-file:
+# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
+```
+
diff --git a/specification/digitaltwins/resource-manager/readme.azureresourceschema.md b/specification/digitaltwins/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..32aca0b9a388
--- /dev/null
+++ b/specification/digitaltwins/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-digitaltwins-2020-03-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-digitaltwins-2020-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-digitaltwins-2020-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DigitalTwins/preview/2020-03-01-preview/digitaltwins.json
+
+```
diff --git a/specification/digitaltwins/resource-manager/readme.java.md b/specification/digitaltwins/resource-manager/readme.java.md
new file mode 100644
index 000000000000..14298c23e4ee
--- /dev/null
+++ b/specification/digitaltwins/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.digitaltwins
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-digitaltwins
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-03-01-preview
+```
+
+### Tag: package-2020-03-01-preview and java
+
+These settings apply only when `--tag=package-2020-03-01-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-03-01-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.digitaltwins.v2020_03_01_preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/digitaltwins/mgmt-v2020_03_01_preview
+regenerate-manager: true
+generate-interface: true
+```
diff --git a/specification/digitaltwins/resource-manager/readme.md b/specification/digitaltwins/resource-manager/readme.md
index 7e6c12494037..16f8921d5221 100644
--- a/specification/digitaltwins/resource-manager/readme.md
+++ b/specification/digitaltwins/resource-manager/readme.md
@@ -56,6 +56,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_digitaltwins']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js digitaltwins/resource-manager
```
## Go
@@ -78,6 +81,14 @@ See configuration in [readme.typescript.md](./readme.typescript.md)
See configuration in [readme.csharp.md](./readme.csharp.md)
+## Java
+
+See configuration in [readme.java.md](./readme.java.md)
+
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/digitaltwins/resource-manager/readme.typescript.md b/specification/digitaltwins/resource-manager/readme.typescript.md
index 3154decaf68e..f47cbf0161ed 100644
--- a/specification/digitaltwins/resource-manager/readme.typescript.md
+++ b/specification/digitaltwins/resource-manager/readme.typescript.md
@@ -6,8 +6,8 @@ Please also specify `--typescript-sdks-folder=`.
+
+### Tag: schema-delegatednetwork-2020-08-08-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-delegatednetwork-2020-08-08-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.DelegatedNetwork/preview/2020-08-08-preview/DelegatedNetwork.json
+
+```
diff --git a/specification/dnc/resource-manager/readme.go.md b/specification/dnc/resource-manager/readme.go.md
new file mode 100644
index 000000000000..971e71d00cb0
--- /dev/null
+++ b/specification/dnc/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: delegatednetwork
+```
+
+### Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2020-08-08-preview
+```
+
+### Tag: package-2020-08-08-preview and go
+
+These settings apply only when `--tag=package-2020-08-08-preview --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-08-08-preview' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2020-08-08-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/dnc/resource-manager/readme.md b/specification/dnc/resource-manager/readme.md
new file mode 100644
index 000000000000..15b1f9550c12
--- /dev/null
+++ b/specification/dnc/resource-manager/readme.md
@@ -0,0 +1,141 @@
+# DelegatedNetwork
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for DelegatedNetwork.
+
+
+
+---
+## Getting Started
+To build the SDK for DelegatedNetwork, 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 DelegatedNetwork API.
+
+``` yaml
+openapi-type: arm
+tag: package-2020-08-08-preview
+```
+
+
+### Tag: package-2020-08-08-preview
+
+These settings apply only when `--tag=package-2020-08-08-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-08-08-preview'
+input-file:
+- Microsoft.DelegatedNetwork/preview/2020-08-08-preview/DelegatedNetwork.json
+```
+
+---
+# Code Generation
+
+
+## Swagger to SDK
+
+This section describes what SDK should be generated by the automatic system.
+This is not used by Autorest itself.
+
+``` yaml $(swagger-to-sdk)
+swagger-to-sdk:
+ - repo: azure-sdk-for-net
+ - repo: azure-sdk-for-python
+ - repo: azure-sdk-for-java
+ - repo: azure-sdk-for-go
+ - repo: azure-sdk-for-js
+```
+
+## C#
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.DelegatedNetwork
+ output-folder: $(csharp-sdks-folder)/DelegatedNetwork/Microsoft.Azure.Management.DelegatedNetwork/src/Generated
+ clear-output-folder: true
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.DelegatedNetwork
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-DelegatedNetwork
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-08-08-preview
+```
+
+### Tag: package-2020-08-08-preview and java
+
+These settings apply only when `--tag=package-2020-08-08-preview --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-08-08-preview' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.DelegatedNetwork.2020-08-08-preview
+ output-folder: $(azure-libraries-for-java-folder)/sdk/DelegatedNetwork/mgmt-2020-08-08-preview
+regenerate-manager: true
+generate-interface: true
+```
+
+## Python
+
+See configuration in [readme.python.md](./readme.python.md)
+
+
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
+``` yaml $(tag) == 'all-api-versions' /* autogenerated */
+# include the azure profile definitions from the standard location
+require: $(this-folder)/../../../profiles/readme.md
+
+# all the input files across all versions
+input-file:
+ - $(this-folder)/Microsoft.DelegatedNetwork/preview/2020-08-08-preview/DelegatedNetwork.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/dns/resource-manager/readme.azureresourceschema.md b/specification/dns/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..743edd736482
--- /dev/null
+++ b/specification/dns/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,84 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-network-2018-05-01
+ - tag: schema-network-2018-03-01-preview
+ - tag: schema-network-2017-10-01
+ - tag: schema-network-2017-09-01
+ - tag: schema-network-2016-04-01
+ - tag: schema-network-2015-05-04-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-network-2018-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2018-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2018-05-01/dns.json
+
+```
+
+### Tag: schema-network-2018-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2018-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/preview/2018-03-01-preview/dns.json
+
+```
+
+### Tag: schema-network-2017-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2017-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2017-10-01/dns.json
+
+```
+
+### Tag: schema-network-2017-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2017-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2017-09-01/dns.json
+
+```
+
+### Tag: schema-network-2016-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2016-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2016-04-01/dns.json
+
+```
+
+### Tag: schema-network-2015-05-04-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2015-05-04-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/preview/2015-05-04-preview/dns.json
+
+```
diff --git a/specification/dns/resource-manager/readme.md b/specification/dns/resource-manager/readme.md
index 60903e790fef..ff5240e3224f 100644
--- a/specification/dns/resource-manager/readme.md
+++ b/specification/dns/resource-manager/readme.md
@@ -160,6 +160,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_dns']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js dns/resource-manager
```
## Go
@@ -224,6 +227,10 @@ input-file:
- Microsoft.Network/stable/2016-04-01/dns.json
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/CreateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/CreateOuContainer.json
new file mode 100644
index 000000000000..6e5aec2db2c5
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/CreateOuContainer.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2017-06-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1",
+ "containerAccount": {
+ "accountName": "AccountName1",
+ "spn": "Spn1",
+ "password": "Password1"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "description": "HTTP 201 (Created) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/DeleteOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/DeleteOuContainer.json
new file mode 100644
index 000000000000..11b98fc2c715
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/DeleteOuContainer.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2017-06-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful."
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed."
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/GetOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/GetOuContainer.json
new file mode 100644
index 000000000000..c6f150bbe889
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/GetOuContainer.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2017-06-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/ListOuContainers.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/ListOuContainers.json
new file mode 100644
index 000000000000..2842071473a8
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/ListOuContainers.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2017-06-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer2",
+ "name": "OuContainer.com/OuContainer2",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer2",
+ "accounts": [
+ {
+ "accountName": "AccountName3",
+ "spn": "Spn3"
+ },
+ {
+ "accountName": "AccountName4",
+ "spn": "Spn4"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/UpdateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/UpdateOuContainer.json
new file mode 100644
index 000000000000..bc23efd4cf82
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/examples/UpdateOuContainer.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2017-06-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1",
+ "containerAccount": {
+ "accountName": "AccountName1",
+ "spn": "Spn1",
+ "password": "Password1"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/oucontainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/oucontainer.json
new file mode 100644
index 000000000000..6a2aed422bab
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2017-06-01/oucontainer.json
@@ -0,0 +1,603 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Domain Services Resource Provider",
+ "description": "The AAD Domain Services API.",
+ "version": "2017-06-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": {
+ "/providers/Microsoft.Aad/operations": {
+ "get": {
+ "tags": [
+ "OuContainer"
+ ],
+ "description": "Lists all the available OuContainer operations.",
+ "operationId": "OuContainerOperations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer": {
+ "get": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_List",
+ "summary": "List of OuContainers in DomainService instance",
+ "description": "The List of OuContainers in DomainService instance.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainerListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List of OuContainers": {
+ "$ref": "./examples/ListOuContainers.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer/{ouContainerName}": {
+ "get": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Get",
+ "summary": "Get particular OuContainer in DomainService instance",
+ "description": "Get OuContainer in DomainService instance.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List of OuContainers": {
+ "$ref": "./examples/GetOuContainer.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Create",
+ "summary": "Create OuContainer",
+ "description": "The Create OuContainer operation creates a new OuContainer under the specified Domain Service instance.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ },
+ {
+ "name": "containerAccount",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerAccount"
+ },
+ "description": "Container Account Description."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ },
+ "201": {
+ "description": "HTTP 201 (Created) if the operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create Domain Service": {
+ "$ref": "./examples/CreateOuContainer.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Delete",
+ "summary": "Delete OuContainer",
+ "description": "The Delete OuContainer operation deletes specified OuContainer.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful."
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete OuContainer": {
+ "$ref": "./examples/DeleteOuContainer.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Update",
+ "summary": "Update OuContainer (PATCH Resource)",
+ "description": "The Update OuContainer operation can be used to update the existing OuContainers.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ },
+ {
+ "name": "containerAccount",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerAccount"
+ },
+ "description": "Container Account Description."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Domain Service": {
+ "$ref": "./examples/UpdateOuContainer.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Resource etag"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "OuContainerListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OuContainer"
+ },
+ "description": "The list of OuContainer."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List OuContainer operation."
+ },
+ "OuContainer": {
+ "description": "Resource for OuContainer.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OuContainerProperties",
+ "description": "OuContainer properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "OuContainerProperties": {
+ "description": "Properties of the OuContainer.",
+ "properties": {
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure Active Directory tenant id"
+ },
+ "domainName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The domain name of Domain Services."
+ },
+ "deploymentId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Deployment id"
+ },
+ "containerId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The OuContainer name"
+ },
+ "accounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerAccount",
+ "description": "Container Account"
+ },
+ "description": "The list of container accounts"
+ },
+ "serviceStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Status of OuContainer instance"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ }
+ }
+ },
+ "ContainerAccount": {
+ "description": "Container Account Description",
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "description": "The account name"
+ },
+ "spn": {
+ "type": "string",
+ "description": "The account spn"
+ },
+ "password": {
+ "type": "string",
+ "description": "The account password"
+ }
+ }
+ },
+ "OperationEntityListResult": {
+ "description": "The list of domain service operation response.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "The operation supported by Domain Services.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The operation supported by Domain Services."
+ },
+ "origin": {
+ "description": "The origin of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The operation supported by Domain Services.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Service provider: Domain Services.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "description": "An error response from the Domain Services.",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Domain Services."
+ },
+ "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 Domain Services."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets 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."
+ },
+ "ResourceGroupNameParameter": {
+ "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"
+ },
+ "DomainServiceNameParameter": {
+ "name": "domainServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the domain service.",
+ "x-ms-parameter-location": "method"
+ },
+ "OuContainerNameParameter": {
+ "name": "ouContainerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the OuContainer.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/CreateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/CreateOuContainer.json
new file mode 100644
index 000000000000..0f5651845b81
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/CreateOuContainer.json
@@ -0,0 +1,100 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1",
+ "containerAccount": {
+ "accountName": "AccountName1",
+ "spn": "Spn1",
+ "password": "Password1"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "description": "HTTP 201 (Created) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/DeleteOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/DeleteOuContainer.json
new file mode 100644
index 000000000000..ab7dec2f11de
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/DeleteOuContainer.json
@@ -0,0 +1,20 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful."
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed."
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/GetOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/GetOuContainer.json
new file mode 100644
index 000000000000..90b57878c52d
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/GetOuContainer.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/ListOuContainers.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/ListOuContainers.json
new file mode 100644
index 000000000000..0153c95e3fed
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/ListOuContainers.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com"
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer2",
+ "name": "OuContainer.com/OuContainer2",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer2",
+ "accounts": [
+ {
+ "accountName": "AccountName3",
+ "spn": "Spn3"
+ },
+ {
+ "accountName": "AccountName4",
+ "spn": "Spn4"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/UpdateOuContainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/UpdateOuContainer.json
new file mode 100644
index 000000000000..5849aa98e585
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/examples/UpdateOuContainer.json
@@ -0,0 +1,72 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01",
+ "subscriptionId": "1639790a-76a2-4ac4-98d9-8562f5dfcb4d",
+ "resourceGroupName": "OuContainerResourceGroup",
+ "domainServiceName": "OuContainer.com",
+ "ouContainerName": "OuContainer1",
+ "containerAccount": {
+ "accountName": "AccountName1",
+ "spn": "Spn1",
+ "password": "Password1"
+ }
+ },
+ "responses": {
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "body": {
+ "id": "/subscriptions/1639790a-76a2-4ac4-98d9-8562f5dfcb4d/resourceGroups/ouContainerResourceGroup/providers/Microsoft.AAD/domainServices/ouContainer.com/ouContainer/ouContainer1",
+ "name": "OuContainer.com/OuContainer1",
+ "type": "Microsoft.AAD/DomainServices/OuContainer",
+ "location": "westus",
+ "etag": "W/\"datetime'2017-04-10T04%3A42%3A19.7067387Z'\"",
+ "properties": {
+ "tenantId": "3f8cd22c-7b32-48aa-a01c-f533133b1def",
+ "domainName": "OuContainer.com",
+ "deploymentId": "0FC50BDB-AC45-48E4-BC92-F0651EA0687B",
+ "containerId": "OuContainer1",
+ "accounts": [
+ {
+ "accountName": "AccountName1",
+ "spn": "Spn1"
+ },
+ {
+ "accountName": "AccountName2",
+ "spn": "Spn2"
+ }
+ ],
+ "serviceStatus": "Running",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/oucontainer.json b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/oucontainer.json
new file mode 100644
index 000000000000..84bf755c076f
--- /dev/null
+++ b/specification/domainservices/resource-manager/Microsoft.AAD/stable/2020-01-01/oucontainer.json
@@ -0,0 +1,603 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "Domain Services Resource Provider",
+ "description": "The AAD Domain Services API.",
+ "version": "2020-01-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": {
+ "/providers/Microsoft.Aad/operations": {
+ "get": {
+ "tags": [
+ "OuContainer"
+ ],
+ "description": "Lists all the available OuContainer operations.",
+ "operationId": "OuContainerOperations_List",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OperationEntityListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Operations": {
+ "$ref": "./examples/GetOperations.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer": {
+ "get": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_List",
+ "summary": "List of OuContainers in DomainService instance",
+ "description": "The List of OuContainers in DomainService instance.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainerListResult"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List of OuContainers": {
+ "$ref": "./examples/ListOuContainers.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Aad/domainServices/{domainServiceName}/ouContainer/{ouContainerName}": {
+ "get": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Get",
+ "summary": "Get particular OuContainer in DomainService instance",
+ "description": "Get OuContainer in DomainService instance.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List of OuContainers": {
+ "$ref": "./examples/GetOuContainer.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Create",
+ "summary": "Create OuContainer",
+ "description": "The Create OuContainer operation creates a new OuContainer under the specified Domain Service instance.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ },
+ {
+ "name": "containerAccount",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerAccount"
+ },
+ "description": "Container Account Description."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ },
+ "201": {
+ "description": "HTTP 201 (Created) if the operation completed successfully.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Create Domain Service": {
+ "$ref": "./examples/CreateOuContainer.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Delete",
+ "summary": "Delete OuContainer",
+ "description": "The Delete OuContainer operation deletes specified OuContainer.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful."
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ },
+ "204": {
+ "description": "HTTP 204 (Not Content) should be used if the resource does not exist and the request is well formed."
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete OuContainer": {
+ "$ref": "./examples/DeleteOuContainer.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "OuContainer"
+ ],
+ "operationId": "OuContainer_Update",
+ "summary": "Update OuContainer (PATCH Resource)",
+ "description": "The Update OuContainer operation can be used to update the existing OuContainers.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/DomainServiceNameParameter"
+ },
+ {
+ "$ref": "#/parameters/OuContainerNameParameter"
+ },
+ {
+ "name": "containerAccount",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ContainerAccount"
+ },
+ "description": "Container Account Description."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/CloudError"
+ }
+ },
+ "200": {
+ "description": "HTTP 200 (OK) if the operation was successful.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously.",
+ "schema": {
+ "$ref": "#/definitions/OuContainer"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update Domain Service": {
+ "$ref": "./examples/UpdateOuContainer.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Resource": {
+ "description": "The Resource model definition.",
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource Id"
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name"
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ]
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ },
+ "etag": {
+ "type": "string",
+ "description": "Resource etag"
+ }
+ },
+ "x-ms-azure-resource": true
+ },
+ "OuContainerListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OuContainer"
+ },
+ "description": "The list of OuContainer."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ },
+ "description": "The response from the List OuContainer operation."
+ },
+ "OuContainer": {
+ "description": "Resource for OuContainer.",
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/OuContainerProperties",
+ "description": "OuContainer properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ]
+ },
+ "OuContainerProperties": {
+ "description": "Properties of the OuContainer.",
+ "properties": {
+ "tenantId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Azure Active Directory tenant id"
+ },
+ "domainName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The domain name of Domain Services."
+ },
+ "deploymentId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Deployment id"
+ },
+ "containerId": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The OuContainer name"
+ },
+ "accounts": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ContainerAccount",
+ "description": "Container Account"
+ },
+ "description": "The list of container accounts"
+ },
+ "serviceStatus": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Status of OuContainer instance"
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The current deployment or provisioning state, which only appears in the response."
+ }
+ }
+ },
+ "ContainerAccount": {
+ "description": "Container Account Description",
+ "properties": {
+ "accountName": {
+ "type": "string",
+ "description": "The account name"
+ },
+ "spn": {
+ "type": "string",
+ "description": "The account spn"
+ },
+ "password": {
+ "type": "string",
+ "description": "The account password"
+ }
+ }
+ },
+ "OperationEntityListResult": {
+ "description": "The list of domain service operation response.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "The list of operations.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/OperationEntity"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The continuation token for the next page of results.",
+ "readOnly": true
+ }
+ }
+ },
+ "OperationEntity": {
+ "description": "The operation supported by Domain Services.",
+ "type": "object",
+ "properties": {
+ "name": {
+ "description": "Operation name: {provider}/{resource}/{operation}.",
+ "type": "string"
+ },
+ "display": {
+ "$ref": "#/definitions/OperationDisplayInfo",
+ "description": "The operation supported by Domain Services."
+ },
+ "origin": {
+ "description": "The origin of the operation.",
+ "type": "string"
+ }
+ }
+ },
+ "OperationDisplayInfo": {
+ "description": "The operation supported by Domain Services.",
+ "type": "object",
+ "properties": {
+ "description": {
+ "description": "The description of the operation.",
+ "type": "string"
+ },
+ "operation": {
+ "description": "The action that users can perform, based on their permission level.",
+ "type": "string"
+ },
+ "provider": {
+ "description": "Service provider: Domain Services.",
+ "type": "string"
+ },
+ "resource": {
+ "description": "Resource on which the operation is performed.",
+ "type": "string"
+ }
+ }
+ },
+ "CloudError": {
+ "x-ms-external": true,
+ "properties": {
+ "error": {
+ "description": "An error response from the Domain Services.",
+ "$ref": "#/definitions/CloudErrorBody"
+ }
+ },
+ "description": "An error response from the Domain Services."
+ },
+ "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 Domain Services."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Gets 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."
+ },
+ "ResourceGroupNameParameter": {
+ "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"
+ },
+ "DomainServiceNameParameter": {
+ "name": "domainServiceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the domain service.",
+ "x-ms-parameter-location": "method"
+ },
+ "OuContainerNameParameter": {
+ "name": "ouContainerName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the OuContainer.",
+ "x-ms-parameter-location": "method"
+ }
+ }
+}
diff --git a/specification/domainservices/resource-manager/readme.azureresourceschema.md b/specification/domainservices/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..24b8ecacf69b
--- /dev/null
+++ b/specification/domainservices/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,50 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-aad-2020-01-01
+ - tag: schema-aad-2017-06-01
+ - tag: schema-aad-2017-01-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-aad-2020-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-aad-2020-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AAD/stable/2020-01-01/domainservices.json
+ - Microsoft.AAD/stable/2020-01-01/oucontainer.json
+
+```
+
+### Tag: schema-aad-2017-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-aad-2017-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AAD/stable/2017-06-01/domainservices.json
+ - Microsoft.AAD/stable/2017-06-01/oucontainer.json
+
+```
+
+### Tag: schema-aad-2017-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-aad-2017-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.AAD/stable/2017-01-01/domainservices.json
+
+```
diff --git a/specification/domainservices/resource-manager/readme.md b/specification/domainservices/resource-manager/readme.md
index a3c8ec8ccf18..02f34c0c5577 100644
--- a/specification/domainservices/resource-manager/readme.md
+++ b/specification/domainservices/resource-manager/readme.md
@@ -1,167 +1,169 @@
-# DomainServices
-
-> see https://aka.ms/autorest
-
-This is the AutoRest configuration file for DomainServices.
-
-
-
----
-## Getting Started
-To build the SDK for DomainServices, 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 DomainServices API.
-
-``` yaml
-openapi-type: arm
-tag: package-2017-06
-```
-
-### Tag: package-2020-01
-
-These settings apply only when `--tag=package-2020-01` is specified on the command line.
-
-``` yaml $(tag) == 'package-2020-01'
-input-file:
-- Microsoft.AAD/stable/2020-01-01/domainservices.json
-```
-
-### Tag: package-2017-06
-
-These settings apply only when `--tag=package-2017-06` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-06'
-input-file:
-- Microsoft.AAD/stable/2017-06-01/domainservices.json
-```
-
-### Tag: package-2017-01
-
-These settings apply only when `--tag=package-2017-01` is specified on the command line.
-
-``` yaml $(tag) == 'package-2017-01'
-input-file:
-- Microsoft.AAD/stable/2017-01-01/domainservices.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-go
- - repo: azure-sdk-for-js
- - repo: azure-sdk-for-node
-```
-
-## 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.DomainServices
- payload-flattening-threshold: 2
- output-folder: $(csharp-sdks-folder)/domainservices/Microsoft.Azure.Management.DomainServices/src/Generated
- clear-output-folder: true
-```
-
-## Go
-
-See configuration in [readme.go.md](./readme.go.md)
-
-## Java
-
-These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
-
-``` yaml $(java)
-azure-arm: true
-fluent: true
-namespace: com.microsoft.azure.management.domainservices
-license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
-output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-domainservices
-```
-
-### Java multi-api
-
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2020-01
- - tag: package-2017-06
- - tag: package-2017-01
-```
-
-### Tag: package-2020-01 and java
-
-These settings apply only when `--tag=package-2020-01 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2020-01' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.domainservices.v2020_01_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2020_01_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2017-06 and java
-
-These settings apply only when `--tag=package-2017-06 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2017-06' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.domainservices.v2017_06_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_06_01
-regenerate-manager: true
-generate-interface: true
-```
-
-### Tag: package-2017-01 and java
-
-These settings apply only when `--tag=package-2017-01 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
-
-``` yaml $(tag) == 'package-2017-01' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.domainservices.v2017_01_01
- output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_01_01
-regenerate-manager: true
-generate-interface: true
-```
-
-
-
-## Multi-API/Profile support for AutoRest v3 generators
-
-AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
-
-This block is updated by an automatic script. Edits may be lost!
-
+# DomainServices
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for DomainServices.
+
+
+
+---
+## Getting Started
+To build the SDK for DomainServices, 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 DomainServices API.
+
+``` yaml
+openapi-type: arm
+tag: package-2017-06
+```
+
+### Tag: package-2020-01
+
+These settings apply only when `--tag=package-2020-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-01'
+input-file:
+- Microsoft.AAD/stable/2020-01-01/domainservices.json
+- Microsoft.AAD/stable/2020-01-01/oucontainer.json
+```
+
+### Tag: package-2017-06
+
+These settings apply only when `--tag=package-2017-06` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-06'
+input-file:
+- Microsoft.AAD/stable/2017-06-01/domainservices.json
+- Microsoft.AAD/stable/2017-06-01/oucontainer.json
+```
+
+### Tag: package-2017-01
+
+These settings apply only when `--tag=package-2017-01` is specified on the command line.
+
+``` yaml $(tag) == 'package-2017-01'
+input-file:
+- Microsoft.AAD/stable/2017-01-01/domainservices.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-go
+ - repo: azure-sdk-for-js
+ - repo: azure-sdk-for-node
+```
+
+## 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.DomainServices
+ payload-flattening-threshold: 2
+ output-folder: $(csharp-sdks-folder)/domainservices/Microsoft.Azure.Management.DomainServices/src/Generated
+ clear-output-folder: true
+```
+
+## Go
+
+See configuration in [readme.go.md](./readme.go.md)
+
+## Java
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.domainservices
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-domainservices
+```
+
+### Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2020-01
+ - tag: package-2017-06
+ - tag: package-2017-01
+```
+
+### Tag: package-2020-01 and java
+
+These settings apply only when `--tag=package-2020-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.domainservices.v2020_01_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2020_01_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2017-06 and java
+
+These settings apply only when `--tag=package-2017-06 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-06' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.domainservices.v2017_06_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_06_01
+regenerate-manager: true
+generate-interface: true
+```
+
+### Tag: package-2017-01 and java
+
+These settings apply only when `--tag=package-2017-01 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2017-01' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.domainservices.v2017_01_01
+ output-folder: $(azure-libraries-for-java-folder)/sdk/domainservices/mgmt-v2017_01_01
+regenerate-manager: true
+generate-interface: true
+```
+
+
+
+## Multi-API/Profile support for AutoRest v3 generators
+
+AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
+
+This block is updated by an automatic script. Edits may be lost!
+
``` yaml $(tag) == 'all-api-versions' /* autogenerated */
# include the azure profile definitions from the standard location
require: $(this-folder)/../../../profiles/readme.md
@@ -169,16 +171,18 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
- $(this-folder)/Microsoft.AAD/stable/2020-01-01/domainservices.json
+ - $(this-folder)/Microsoft.AAD/stable/2020-01-01/oucontainer.json
- $(this-folder)/Microsoft.AAD/stable/2017-06-01/domainservices.json
+ - $(this-folder)/Microsoft.AAD/stable/2017-06-01/oucontainer.json
- $(this-folder)/Microsoft.AAD/stable/2017-01-01/domainservices.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
-```
-
+```
+
+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/engagementfabric/resource-manager/readme.azureresourceschema.md b/specification/engagementfabric/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..29aa52048494
--- /dev/null
+++ b/specification/engagementfabric/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-engagementfabric-2018-09-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-engagementfabric-2018-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-engagementfabric-2018-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EngagementFabric/preview/2018-09-01/EngagementFabric.json
+
+```
diff --git a/specification/engagementfabric/resource-manager/readme.md b/specification/engagementfabric/resource-manager/readme.md
index 728d6321e9fd..887f9e1a092f 100644
--- a/specification/engagementfabric/resource-manager/readme.md
+++ b/specification/engagementfabric/resource-manager/readme.md
@@ -59,6 +59,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_engagement_fabric']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js engagementfabric/resource-manager
```
@@ -124,6 +127,10 @@ payload-flattening-threshold: 1
output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-engagementfabric
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
index b49ea347e927..acd30d40cc77 100644
--- a/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
+++ b/specification/eventgrid/data-plane/Microsoft.KeyVault/stable/2018-01-01/KeyVault.json
@@ -312,6 +312,40 @@
"type": "number"
}
}
+ },
+ "KeyVaultVaultAccessPolicyChangedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an VaultAccessPolicyChanged event.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "The id of the object that triggered this event.",
+ "type": "string"
+ },
+ "vaultName": {
+ "description": "Key vault name of the object that triggered this event.",
+ "type": "string"
+ },
+ "objectType": {
+ "description": "The type of the object that triggered this event",
+ "type": "string"
+ },
+ "objectName": {
+ "description": "The name of the object that triggered this event",
+ "type": "string"
+ },
+ "version": {
+ "description": "The version of the object that triggered this event",
+ "type": "string"
+ },
+ "nbf": {
+ "description": "Not before date of the object that triggered this event",
+ "type": "number"
+ },
+ "exp": {
+ "description": "The expiration date of the object that triggered this event",
+ "type": "number"
+ }
+ }
}
}
}
diff --git a/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json b/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json
index a7cde63a4d63..19501d67be85 100644
--- a/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json
+++ b/specification/eventgrid/data-plane/Microsoft.Storage/stable/2018-01-01/Storage.json
@@ -256,6 +256,45 @@
"type": "object"
}
}
+ },
+ "StorageLifecyclePolicyCompletedEventData": {
+ "description": "Schema of the Data property of an EventGridEvent for an Microsoft.Storage.LifecyclePolicyCompleted event.",
+ "type": "object",
+ "properties": {
+ "scheduleTime": {
+ "description": "The time the policy task was scheduled.",
+ "type": "string"
+ },
+ "deleteSummary": {
+ "$ref": "#/definitions/StorageLifecyclePolicyActionSummaryDetail"
+ },
+ "tierToCoolSummary": {
+ "$ref": "#/definitions/StorageLifecyclePolicyActionSummaryDetail"
+ },
+ "tierToArchiveSummary": {
+ "$ref": "#/definitions/StorageLifecyclePolicyActionSummaryDetail"
+ }
+ }
+ },
+ "StorageLifecyclePolicyActionSummaryDetail": {
+ "description": "Execution statistics of a specific policy action in a Blob Management cycle.",
+ "type": "object",
+ "properties": {
+ "totalObjectsCount": {
+ "description": "Total number of objects to be acted on by this action.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "successCount": {
+ "description": "Number of success operations of this action.",
+ "type": "integer",
+ "format": "int64"
+ },
+ "errorList": {
+ "description": "Error messages of this action if any.",
+ "type": "string"
+ }
+ }
}
}
}
diff --git a/specification/eventgrid/resource-manager/readme.azureresourceschema.md b/specification/eventgrid/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..5afb66e43cbe
--- /dev/null
+++ b/specification/eventgrid/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,144 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-eventgrid-2020-06-01
+ - tag: schema-eventgrid-2020-04-01-preview
+ - tag: schema-eventgrid-2020-01-01-preview
+ - tag: schema-eventgrid-2019-06-01
+ - tag: schema-eventgrid-2019-02-01-preview
+ - tag: schema-eventgrid-2019-01-01
+ - tag: schema-eventgrid-2018-09-15-preview
+ - tag: schema-eventgrid-2018-05-01-preview
+ - tag: schema-eventgrid-2018-01-01
+ - tag: schema-eventgrid-2017-09-15-preview
+ - tag: schema-eventgrid-2017-06-15-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-eventgrid-2020-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2020-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/stable/2020-06-01/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2020-04-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2020-04-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/preview/2020-04-01-preview/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2020-01-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2020-01-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/preview/2020-01-01-preview/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2019-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2019-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/stable/2019-06-01/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2019-02-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2019-02-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/preview/2019-02-01-preview/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2019-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2019-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/stable/2019-01-01/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2018-09-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2018-09-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/preview/2018-09-15-preview/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2018-05-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2018-05-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/preview/2018-05-01-preview/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2018-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2018-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/stable/2018-01-01/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2017-09-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2017-09-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/preview/2017-09-15-preview/EventGrid.json
+
+```
+
+### Tag: schema-eventgrid-2017-06-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventgrid-2017-06-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventGrid/preview/2017-06-15-preview/EventGrid.json
+
+```
diff --git a/specification/eventgrid/resource-manager/readme.md b/specification/eventgrid/resource-manager/readme.md
index 85b509c238ed..e35224739683 100644
--- a/specification/eventgrid/resource-manager/readme.md
+++ b/specification/eventgrid/resource-manager/readme.md
@@ -173,6 +173,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_event_grid']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js eventgrid/resource-manager
```
## C#
@@ -198,6 +201,10 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/common/v1/definitions.json b/specification/eventhub/resource-manager/Microsoft.EventHub/common/v1/definitions.json
deleted file mode 100644
index 195b5900769a..000000000000
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/common/v1/definitions.json
+++ /dev/null
@@ -1,221 +0,0 @@
-{
- "swagger": "2.0",
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "info": {
- "version": "2017-04-01",
- "title": "Common types"
- },
- "paths": {},
- "definitions": {
- "TrackedResource": {
- "properties": {
- "location": {
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
- "description": "Resource location."
- },
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "description": "Resource tags."
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ],
- "description": "Definition of resource."
- },
- "Resource": {
- "properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "Resource ID."
- },
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "Resource name."
- },
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "Resource type."
- }
- },
- "description": "The resource definition.",
- "x-ms-azure-resource": true
- },
- "ErrorResponse": {
- "description": "Error response indicates Event Hub service is not able to process the incoming request. The reason is provided in the error message.",
- "type": "object",
- "properties": {
- "code": {
- "description": "Error code.",
- "type": "string"
- },
- "message": {
- "description": "Error message indicating why the operation failed.",
- "type": "string"
- }
- }
- }
- },
- "parameters": {
- "SubscriptionIdParameter": {
- "name": "subscriptionId",
- "in": "path",
- "required": true,
- "type": "string",
- "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
- },
- "ApiVersionParameter": {
- "name": "api-version",
- "in": "query",
- "required": true,
- "type": "string",
- "description": "Client API Version."
- },
- "ResourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 90,
- "x-ms-parameter-location": "method",
- "description": "Name of the resource group within the azure subscription."
- },
- "NamespaceNameParameter": {
- "name": "namespaceName",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 6,
- "maxLength": 50,
- "x-ms-parameter-location": "method",
- "description": "The Namespace name"
- },
- "EventHubNameParameter": {
- "name": "eventHubName",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 50,
- "x-ms-parameter-location": "method",
- "description": "The Event Hub name"
- },
- "ConsumerGroupNameParameter": {
- "name": "consumerGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 50,
- "x-ms-parameter-location": "method",
- "description": "The consumer group name"
- },
- "SkipParameter": {
- "name": "$skip",
- "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.",
- "in": "query",
- "required": false,
- "type": "integer",
- "minimum": 0,
- "maximum": 1000,
- "x-ms-parameter-location": "method"
- },
- "TopParameter": {
- "name": "$top",
- "description": "May be used to limit the number of results to the most recent N usageDetails.",
- "in": "query",
- "required": false,
- "type": "integer",
- "minimum": 1,
- "maximum": 1000,
- "x-ms-parameter-location": "method"
- },
- "AuthorizationRuleNameParameter": {
- "name": "authorizationRuleName",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "x-ms-parameter-location": "method",
- "description": "The authorization rule name."
- },
- "AliasNameParameter": {
- "name": "alias",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 50,
- "x-ms-parameter-location": "method",
- "description": "The Disaster Recovery configuration name"
- },
- "ClusterNameParameter": {
- "name": "clusterName",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 6,
- "maxLength": 50,
- "x-ms-parameter-location": "method",
- "description": "The name of the Event Hubs Cluster."
- },
- "IpFilterRuleNameParameter": {
- "name": "ipFilterRuleName",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "x-ms-parameter-location": "method",
- "description": "The IP Filter Rule name."
- },
- "VirtualNetworkRuleNameParameter": {
- "name": "virtualNetworkRuleName",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "x-ms-parameter-location": "method",
- "description": "The Virtual Network Rule name."
- },
- "SkuNameParameter": {
- "name": "sku",
- "in": "path",
- "required": true,
- "type": "string",
- "minLength": 1,
- "maxLength": 50,
- "x-ms-parameter-location": "method",
- "description": "The sku type."
- }
- }
-}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json
index 4c22e44c12d0..74ec2f20ba61 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json
@@ -48,10 +48,10 @@
"description": "List the quantity of available pre-provisioned Event Hubs Clusters, indexed by Azure region.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -64,7 +64,7 @@
"default": {
"description": "Error response describing why available clusters could not be successfully listed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json
index 548a7852cd5f..9300b0e7a82a 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json
@@ -48,13 +48,13 @@
"description": "Lists the available Event Hubs Clusters within an ARM resource group",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -67,7 +67,7 @@
"default": {
"description": "Event Hub Cluster error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -90,16 +90,16 @@
"description": "Gets the resource description of the specified Event Hubs Cluster.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -112,7 +112,7 @@
"default": {
"description": "Event Hubs Cluster error response describing why the cluster description get operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -130,13 +130,13 @@
"description": "Creates or updates an instance of an Event Hubs Cluster.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
},
{
"name": "parameters",
@@ -151,7 +151,7 @@
"description": "Parameters for creating a eventhub cluster resource."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -173,7 +173,7 @@
"default": {
"description": "Event Hubs error response detailing why the Event Hubs Cluster create or update operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -192,16 +192,16 @@
"description": "Modifies mutable properties on the Event Hubs Cluster. This operation is idempotent.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
"name": "parameters",
@@ -232,7 +232,7 @@
"default": {
"description": "Event Hubs error response detailing why the Event Hubs Cluster update operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -251,16 +251,16 @@
"description": "Deletes an existing Event Hubs Cluster. This operation is idempotent.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -276,7 +276,7 @@
"default": {
"description": "Event Hubs error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -291,16 +291,16 @@
"operationId": "Clusters_ListNamespaces",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
}
],
"description": "List all Event Hubs Namespace IDs in an Event Hubs Dedicated Cluster.",
@@ -319,7 +319,7 @@
"default": {
"description": "Event Hubs Cluster error response detailing why this operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -362,7 +362,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource"
}
],
"description": "Single Event Hubs Cluster resource in List or Get operations."
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json
new file mode 100644
index 000000000000..c485ea28d9f8
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionCreate.json
@@ -0,0 +1,57 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2924",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subID",
+ "privateEndpointConnectionName": "privateEndpointConnectionName",
+ "parameters": {
+ "properties": {
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-8396/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-2847"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Rejected",
+ "description": "testing"
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "name": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json
new file mode 100644
index 000000000000..68fd4f7ca8ae
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-3285",
+ "resourceGroupName": "ArunMonocle",
+ "privateEndpointConnectionName": "928c44d5-b7c6-423b-b6fa-811e0c27b3e0",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "5f750a97-50d9-4e36-8081-c9ee4c0210d4"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json
new file mode 100644
index 000000000000..801342ade57b
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionGet.json
@@ -0,0 +1,28 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5828",
+ "resourceGroupName": "SDK-EventHub-4794",
+ "privateEndpointConnectionName": "privateEndpointConnectionName",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subID"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateEndpointConnections/privateEndpointConnectionName",
+ "name": "privateEndpointConnectionName",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-4794/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5828"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json
new file mode 100644
index 000000000000..4095c639f900
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateEndPointConnectionList.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-5828",
+ "resourceGroupName": "SDK-EventHub-4794",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subID"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-7182/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5705-new/privateEndpointConnections/5dc668b3-70e4-437f-b61c-a3c1e594be7a",
+ "name": "5dc668b3-70e4-437f-b61c-a3c1e594be7a",
+ "type": "Microsoft.EventHub/Namespaces/PrivateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/dbedb4e0-40e6-4145-81f3-f1314c150774/resourceGroups/SDK-EventHub-7182/providers/Microsoft.Network/privateEndpoints/sdk-Namespace-5705-new"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-Approved"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json
new file mode 100644
index 000000000000..c71adb869dde
--- /dev/null
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/examples/NameSpaces/PrivateLinkResourcesGet.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "namespaceName": "sdk-Namespace-2924",
+ "resourceGroupName": "ArunMonocle",
+ "api-version": "2018-01-01-preview",
+ "subscriptionId": "subID"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "subscriptions/subID/resourceGroups/SDK-EventHub-4794/providers/Microsoft.EventHub/namespaces/sdk-Namespace-5828/privateLinkResources/namespace",
+ "name": "namespace",
+ "type": "Microsoft.EventHub/namespaces/privateLinkResources",
+ "properties": {
+ "groupId": "namespace",
+ "requiredMembers": [
+ "namespace"
+ ],
+ "requiredZoneNames": [
+ "privatelink.EventHub.windows.net"
+ ]
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json
index 7382364c2424..2ce68eb88f9f 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json
@@ -48,16 +48,16 @@
"description": "Gets a list of IP Filter rules for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -70,7 +70,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -93,13 +93,13 @@
"description": "Creates or updates an IpFilterRule for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter"
},
{
"name": "parameters",
@@ -111,10 +111,10 @@
"description": "The Namespace IpFilterRule."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -127,7 +127,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -145,19 +145,19 @@
"description": "Deletes an IpFilterRule for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -170,7 +170,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -188,19 +188,19 @@
"description": "Gets an IpFilterRule for a Namespace by rule name.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/IpFilterRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -213,7 +213,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -252,7 +252,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/Resource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
}
],
"description": "Single item in a List or Get IpFilterRules operation"
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json
index 0f2174cfb648..02608d7b5225 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json
@@ -48,10 +48,10 @@
"description": "Lists all the available Namespaces within a subscription, irrespective of the resource groups.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -64,7 +64,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -87,13 +87,13 @@
"description": "Lists the available Namespaces within a resource group.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -106,7 +106,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -129,10 +129,10 @@
"description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
"name": "parameters",
@@ -147,10 +147,10 @@
"description": "Parameters for creating a namespace resource."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -172,7 +172,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -191,16 +191,16 @@
"description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -216,7 +216,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -235,16 +235,16 @@
"description": "Gets the description of the specified namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -263,7 +263,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -281,10 +281,10 @@
"description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
"name": "parameters",
@@ -296,10 +296,10 @@
"description": "Parameters for updating a namespace resource."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -321,7 +321,259 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "Namespaces PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_List",
+ "x-ms-examples": {
+ "NameSpaceCreate": {
+ "$ref": "./examples/NameSpaces/PrivateEndPointConnectionList.json"
+ }
+ },
+ "description": "Gets the available PrivateEndpointConnections within a namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639412.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "PrivateEndpointConnections successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "EventHubEventHub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateEndpointConnections/{privateEndpointConnectionName}": {
+ "put": {
+ "tags": [
+ "Namespaces PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_CreateOrUpdate",
+ "x-ms-examples": {
+ "NameSpacePrivateEndPointConnectionCreate": {
+ "$ref": "./examples/NameSpaces/PrivateEndPointConnectionCreate.json"
+ }
+ },
+ "description": "Creates or updates PrivateEndpointConnections of service namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639408.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "description": "Parameters supplied to update Status of PrivateEndPoint Connection to namespace resource."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Status of PrivateEndPoint Connection Created successfully.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "201": {
+ "description": "Request to update Status of PrivateEndPoint Connection accepted.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "Namespaces PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Delete",
+ "x-ms-examples": {
+ "NameSpacePrivateEndPointConnectionDelete": {
+ "$ref": "./examples/NameSpaces/PrivateEndPointConnectionDelete.json"
+ }
+ },
+ "description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639389.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Private Endpoint Connection successfully deleted."
+ },
+ "202": {
+ "description": "Private Endpoint Connection delete request accepted."
+ },
+ "204": {
+ "description": "No content."
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "get": {
+ "tags": [
+ "Namespaces PrivateEndpointConnections"
+ ],
+ "operationId": "PrivateEndpointConnections_Get",
+ "x-ms-examples": {
+ "NameSpacePrivateEndPointConnectionGet": {
+ "$ref": "./examples/NameSpaces/PrivateEndPointConnectionGet.json"
+ }
+ },
+ "description": "Gets a description for the specified Private Endpoint Connection name.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/PrivateEndpointConnectionNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Private Endpoint Connection successfully returned.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.EventHub/namespaces/{namespaceName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "Namespaces PrivateLinkResources"
+ ],
+ "operationId": "PrivateLinkResources_Get",
+ "x-ms-examples": {
+ "NameSpacePrivateLinkResourcesGet": {
+ "$ref": "./examples/NameSpaces/PrivateLinkResourcesGet.json"
+ }
+ },
+ "description": "Gets lists of resources that supports Privatelinks.",
+ "externalDocs": {
+ "url": "https://msdn.microsoft.com/en-us/library/azure/mt639379.aspx"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Private Link resource List",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourcesListResult"
+ }
+ },
+ "default": {
+ "description": "Eventhub error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -418,7 +670,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource"
}
],
"description": "Single Namespace item in List or Get Operation"
@@ -534,6 +786,159 @@
}
},
"description": "Properties to configure keyVault Properties"
+ },
+ "PrivateEndpointConnection": {
+ "description": "Properties of the PrivateEndpointConnection.",
+ "allOf": [
+ {
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Properties of the PrivateEndpointConnection.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateEndpointConnectionProperties": {
+ "description": "Properties of the private endpoint connection resource.",
+ "properties": {
+ "privateEndpoint": {
+ "$ref": "#/definitions/PrivateEndpoint",
+ "description": "The Private Endpoint resource for this Connection."
+ },
+ "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": "EndPointProvisioningState",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "PrivateEndpoint": {
+ "description": "PrivateEndpoint information.",
+ "properties": {
+ "id": {
+ "description": "The ARM identifier for Private Endpoint.",
+ "type": "string"
+ }
+ }
+ },
+ "ConnectionState": {
+ "description": "ConnectionState information.",
+ "properties": {
+ "status": {
+ "description": "Status of the connection.",
+ "enum": [
+ "Pending",
+ "Approved",
+ "Rejected",
+ "Disconnected"
+ ],
+ "type": "string",
+ "x-ms-enum": {
+ "name": "PrivateLinkConnectionStatus",
+ "modelAsString": true
+ }
+ },
+ "description": {
+ "description": "Description of the connection state.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "Result of the list of all private endpoint connections operation.",
+ "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.",
+ "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": {
+ "description": "Properties of PrivateLinkResource",
+ "properties": {
+ "groupId": {
+ "description": "The private link resource group id.",
+ "type": "string"
+ },
+ "requiredMembers": {
+ "type": "array",
+ "description": "The private link resource required member names.",
+ "items": {
+ "type": "string"
+ }
+ },
+ "requiredZoneNames": {
+ "type": "array",
+ "description": "The private link resource Private link DNS zone name.",
+ "items": {
+ "type": "string"
+ }
+ }
+ }
+ },
+ "PrivateLinkResourcesListResult": {
+ "description": "Result of the List private link resources operation.",
+ "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"
+ }
+ }
}
},
"parameters": {}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json
index ec6f1f0a20c5..8d3a1c5da7b5 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json
@@ -48,16 +48,16 @@
"description": "Create or update NetworkRuleSet for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
"name": "parameters",
@@ -79,7 +79,7 @@
"default": {
"description": "ServiceBus error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -97,16 +97,16 @@
"description": "Gets NetworkRuleSet for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -119,7 +119,7 @@
"default": {
"description": "ServiceBus error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -177,6 +177,10 @@
"description": "NetworkRuleSet properties",
"x-ms-client-flatten": true,
"properties": {
+ "trustedServiceAccessEnabled": {
+ "type": "boolean",
+ "description": "Value that indicates whether Trusted Service Access is Enabled or not."
+ },
"defaultAction": {
"type": "string",
"description": "Default Action for Network Rule Set",
@@ -208,7 +212,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/Resource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
}
],
"description": "Description of topic resource."
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json
index 38b1a7b797f1..62e20b653170 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/operations-preview.json
@@ -48,7 +48,7 @@
"description": "Lists all of the available Event Hub REST API operations.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -61,7 +61,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json
index bbadf4caec7d..4ad879168429 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json
@@ -42,16 +42,16 @@
"operationId": "Configuration_Patch",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
"name": "parameters",
@@ -91,7 +91,7 @@
"default": {
"description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -103,16 +103,16 @@
"operationId": "Configuration_Get",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ClusterNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ClusterNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
}
],
"x-ms-examples": {
@@ -131,7 +131,7 @@
"default": {
"description": "Event Hubs Cluster error response describing why the get cluster quotas and settings operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json
index fc417f5a93f5..e4936125742c 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json
@@ -48,16 +48,16 @@
"description": "Gets a list of VirtualNetwork rules for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -70,7 +70,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -93,19 +93,19 @@
"description": "Creates or updates an VirtualNetworkRule for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
"name": "parameters",
@@ -127,7 +127,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -145,19 +145,19 @@
"description": "Deletes an VirtualNetworkRule for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -170,7 +170,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -188,19 +188,19 @@
"description": "Gets an VirtualNetworkRule for a Namespace by rule name.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/VirtualNetworkRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -213,7 +213,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -236,7 +236,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/Resource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
}
],
"description": "Single item in a List or Get VirtualNetworkRules operation"
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json
index 28d3422cedb3..b738f5d8b82e 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json
@@ -48,16 +48,16 @@
"description": "Gets a list of authorization rules for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -70,7 +70,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -93,13 +93,13 @@
"description": "Creates or updates an AuthorizationRule for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
"name": "parameters",
@@ -111,10 +111,10 @@
"description": "The shared access AuthorizationRule."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -127,7 +127,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -145,19 +145,19 @@
"description": "Deletes an AuthorizationRule for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -170,7 +170,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -188,19 +188,19 @@
"description": "Gets an AuthorizationRule for a Namespace by rule name.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -213,7 +213,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -233,19 +233,19 @@
"description": "Gets the primary and secondary connection strings for the Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -258,7 +258,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -278,13 +278,13 @@
"description": "Regenerates the primary or secondary connection strings for the specified Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
"name": "parameters",
@@ -296,10 +296,10 @@
"description": "Parameters required to regenerate the connection string."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -312,7 +312,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -332,19 +332,19 @@
"description": "Gets a list of authorization rules for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -357,7 +357,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -380,22 +380,22 @@
"description": "Gets an AuthorizationRule for a Namespace by rule name.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -408,7 +408,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -428,22 +428,22 @@
"description": "Gets the primary and secondary connection strings for the Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -456,7 +456,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -476,19 +476,19 @@
"description": "Gets the authorization rules for an Event Hub.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -501,7 +501,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -524,16 +524,16 @@
"description": "Creates or updates an AuthorizationRule for the specified Event Hub. Creation/update of the AuthorizationRule will take a few seconds to take effect.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
"name": "parameters",
@@ -545,10 +545,10 @@
"description": "The shared access AuthorizationRule."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -561,7 +561,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -579,22 +579,22 @@
"description": "Gets an AuthorizationRule for an Event Hub by rule name.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -607,7 +607,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -625,22 +625,22 @@
"description": "Deletes an Event Hub AuthorizationRule.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -653,7 +653,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -673,22 +673,22 @@
"description": "Gets the ACS and SAS connection strings for the Event Hub.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -701,7 +701,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -721,16 +721,16 @@
"description": "Regenerates the ACS and SAS connection strings for the Event Hub.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AuthorizationRuleNameParameter"
},
{
"name": "parameters",
@@ -742,10 +742,10 @@
"description": "Parameters supplied to regenerate the AuthorizationRule Keys (PrimaryKey/SecondaryKey)."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -758,7 +758,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -812,7 +812,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/Resource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
}
],
"description": "Single item in a List or Get AuthorizationRule operation"
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json
index d8b451acdd39..6ca247347f90 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json
@@ -48,10 +48,10 @@
"description": "Check the give Namespace name availability.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
"name": "parameters",
@@ -73,7 +73,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json
index 3f9cf49a0dec..b74f5c4d0881 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/consumergroups.json
@@ -48,16 +48,16 @@
"description": "Creates or updates an Event Hubs consumer group as a nested resource within a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
},
{
"name": "parameters",
@@ -69,10 +69,10 @@
"description": "Parameters supplied to create or update a consumer group resource."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -85,7 +85,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -103,22 +103,22 @@
"description": "Deletes a consumer group from the specified Event Hub and resource group.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -131,7 +131,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -149,22 +149,22 @@
"description": "Gets a description for the specified consumer group.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ConsumerGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -177,7 +177,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -197,25 +197,25 @@
"description": "Gets all the consumer groups in a Namespace. An empty feed is returned if no consumer group exists in the Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SkipParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/TopParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
}
],
"responses": {
@@ -228,7 +228,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -266,7 +266,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/Resource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
}
],
"description": "Single item in List or Get Consumer group operation"
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json
index 68c26c6f4bba..9b32c93c837a 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json
@@ -48,16 +48,16 @@
"description": "Check the give Namespace name availability.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
"name": "parameters",
@@ -79,7 +79,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -99,16 +99,16 @@
"description": "Gets all Alias(Disaster Recovery configurations)",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -121,7 +121,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -144,13 +144,13 @@
"description": "Creates or updates a new Alias(Disaster Recovery configuration)",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
},
{
"name": "parameters",
@@ -162,10 +162,10 @@
"description": "Parameters required to create an Alias(Disaster Recovery configuration)"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -181,7 +181,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -199,19 +199,19 @@
"description": "Deletes an Alias(Disaster Recovery configuration)",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -221,7 +221,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -239,19 +239,19 @@
"description": "Retrieves Alias(Disaster Recovery configuration) for primary or secondary namespace",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -264,7 +264,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -284,19 +284,19 @@
"description": "This operation disables the Disaster Recovery and stops replicating changes from primary to secondary namespaces",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -306,7 +306,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -326,19 +326,19 @@
"description": "Invokes GEO DR failover and reconfigure the alias to point to the secondary namespace",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/AliasNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/AliasNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -348,7 +348,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -455,7 +455,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/Resource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
}
],
"description": "Single item in List or Get Alias(Disaster Recovery configuration) operation"
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json
index 7018d4b01cf6..6a0c933a21cf 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/eventhubs.json
@@ -48,22 +48,22 @@
"description": "Gets all the Event Hubs in a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SkipParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkipParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/TopParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/TopParameter"
}
],
"responses": {
@@ -76,7 +76,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -99,13 +99,13 @@
"description": "Creates or updates a new Event Hub as a nested resource within a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
"name": "parameters",
@@ -117,10 +117,10 @@
"description": "Parameters supplied to create an Event Hub resource."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -133,7 +133,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -151,19 +151,19 @@
"description": "Deletes an Event Hub from the specified Namespace and resource group.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -176,7 +176,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -194,19 +194,19 @@
"description": "Gets an Event Hubs description for the specified Event Hub.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/EventHubNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/EventHubNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -219,7 +219,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -336,7 +336,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/Resource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
}
],
"description": "Single item in List or Get Event Hub operation"
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json
index b58303be6651..455dbbeea42f 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/namespaces.json
@@ -48,10 +48,10 @@
"description": "Lists all the available Namespaces within a subscription, irrespective of the resource groups.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -64,7 +64,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -87,13 +87,13 @@
"description": "Lists the available Namespaces within a resource group.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -106,7 +106,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -129,10 +129,10 @@
"description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
"name": "parameters",
@@ -147,10 +147,10 @@
"description": "Parameters for creating a namespace resource."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -172,7 +172,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -191,16 +191,16 @@
"description": "Deletes an existing namespace. This operation also removes all associated resources under the namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -216,7 +216,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -235,16 +235,16 @@
"description": "Gets the description of the specified namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -263,7 +263,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -281,10 +281,10 @@
"description": "Creates or updates a namespace. Once created, this namespace's resource manifest is immutable. This operation is idempotent.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
"name": "parameters",
@@ -296,10 +296,10 @@
"description": "Parameters for updating a namespace resource."
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -321,7 +321,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -341,16 +341,16 @@
"description": "Gets messaging plan for specified namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -363,7 +363,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -484,7 +484,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource"
}
],
"description": "Single Namespace item in List or Get Operation"
@@ -523,7 +523,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource"
}
],
"description": "Messaging Plan for the namespace"
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json
index edb72a67288c..ce564ce00c3d 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json
@@ -48,16 +48,16 @@
"description": "Create or update NetworkRuleSet for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
"name": "parameters",
@@ -79,7 +79,7 @@
"default": {
"description": "EventHub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -97,16 +97,16 @@
"description": "Gets NetworkRuleSet for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -119,7 +119,7 @@
"default": {
"description": "EventHub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
}
@@ -139,16 +139,16 @@
"description": "Gets list of NetworkRuleSet for a Namespace.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/NamespaceNameParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
}
],
"responses": {
@@ -161,7 +161,7 @@
"default": {
"description": "EventHub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -257,7 +257,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/Resource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/Resource"
}
],
"description": "Description of NetworkRuleSet resource."
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json
index 967a75365837..3766fecc4d77 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/operations.json
@@ -48,7 +48,7 @@
"description": "Lists all of the available Event Hub REST API operations.",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
}
],
"responses": {
@@ -61,7 +61,7 @@
"default": {
"description": "Eventhub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
diff --git a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json
index 1d69a375178a..28e64afd14e3 100644
--- a/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json
+++ b/specification/eventhub/resource-manager/Microsoft.EventHub/stable/2017-04-01/sku.json
@@ -51,13 +51,13 @@
"description": "Gets the available Regions for a given sku",
"parameters": [
{
- "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/ApiVersionParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
},
{
- "$ref": "../../common/v1/definitions.json#/parameters/SkuNameParameter"
+ "$ref": "../../../common/v1/definitions.json#/parameters/SkuNameParameter"
}
],
"responses": {
@@ -70,7 +70,7 @@
"default": {
"description": "EventHub error response describing why the operation failed.",
"schema": {
- "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ "$ref": "../../../common/v1/definitions.json#/definitions/ErrorResponse"
}
}
},
@@ -101,7 +101,7 @@
},
"allOf": [
{
- "$ref": "../../common/v1/definitions.json#/definitions/TrackedResource"
+ "$ref": "../../../common/v1/definitions.json#/definitions/TrackedResource"
}
],
"description": "Messaging Region"
diff --git a/specification/eventhub/resource-manager/common/v1/definitions.json b/specification/eventhub/resource-manager/common/v1/definitions.json
new file mode 100644
index 000000000000..780fed1348d1
--- /dev/null
+++ b/specification/eventhub/resource-manager/common/v1/definitions.json
@@ -0,0 +1,229 @@
+{
+ "swagger": "2.0",
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "info": {
+ "version": "1.0",
+ "title": "Common types"
+ },
+ "paths": {},
+ "definitions": {
+ "TrackedResource": {
+ "properties": {
+ "location": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/Resource"
+ }
+ ],
+ "description": "Definition of resource."
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ }
+ },
+ "description": "The resource definition.",
+ "x-ms-azure-resource": true
+ },
+ "ErrorResponse": {
+ "description": "Error response indicates Event Hub service is not able to process the incoming request. The reason is provided in the error message.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "Error code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "Error message indicating why the operation failed.",
+ "type": "string"
+ }
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials that uniquely identify a Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API Version."
+ },
+ "ResourceGroupNameParameter": {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 90,
+ "x-ms-parameter-location": "method",
+ "description": "Name of the resource group within the azure subscription."
+ },
+ "NamespaceNameParameter": {
+ "name": "namespaceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 6,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The Namespace name"
+ },
+ "PrivateEndpointConnectionNameParameter": {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "x-ms-parameter-location": "method",
+ "description": "The PrivateEndpointConnection name"
+ },
+ "EventHubNameParameter": {
+ "name": "eventHubName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 256,
+ "x-ms-parameter-location": "method",
+ "description": "The Event Hub name"
+ },
+ "ConsumerGroupNameParameter": {
+ "name": "consumerGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The consumer group name"
+ },
+ "SkipParameter": {
+ "name": "$skip",
+ "description": "Skip 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 skip parameter that specifies a starting point to use for subsequent calls.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 1000,
+ "x-ms-parameter-location": "method"
+ },
+ "TopParameter": {
+ "name": "$top",
+ "description": "May be used to limit the number of results to the most recent N usageDetails.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 1000,
+ "x-ms-parameter-location": "method"
+ },
+ "AuthorizationRuleNameParameter": {
+ "name": "authorizationRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method",
+ "description": "The authorization rule name."
+ },
+ "AliasNameParameter": {
+ "name": "alias",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The Disaster Recovery configuration name"
+ },
+ "ClusterNameParameter": {
+ "name": "clusterName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 6,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The name of the Event Hubs Cluster."
+ },
+ "IpFilterRuleNameParameter": {
+ "name": "ipFilterRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method",
+ "description": "The IP Filter Rule name."
+ },
+ "VirtualNetworkRuleNameParameter": {
+ "name": "virtualNetworkRuleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "x-ms-parameter-location": "method",
+ "description": "The Virtual Network Rule name."
+ },
+ "SkuNameParameter": {
+ "name": "sku",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "minLength": 1,
+ "maxLength": 50,
+ "x-ms-parameter-location": "method",
+ "description": "The sku type."
+ }
+ }
+}
diff --git a/specification/eventhub/resource-manager/readme.azureresourceschema.md b/specification/eventhub/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..3130b6b9875d
--- /dev/null
+++ b/specification/eventhub/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,74 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-eventhub-2018-01-01-preview
+ - tag: schema-eventhub-2017-04-01
+ - tag: schema-eventhub-2015-08-01
+ - tag: schema-eventhub-2014-09-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-eventhub-2018-01-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventhub-2018-01-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventHub/preview/2018-01-01-preview/AvailableClusterRegions-preview.json
+ - Microsoft.EventHub/preview/2018-01-01-preview/Clusters-preview.json
+ - Microsoft.EventHub/preview/2018-01-01-preview/ipfilterrules-preview.json
+ - Microsoft.EventHub/preview/2018-01-01-preview/namespaces-preview.json
+ - Microsoft.EventHub/preview/2018-01-01-preview/quotaConfiguration-preview.json
+ - Microsoft.EventHub/preview/2018-01-01-preview/virtualnetworkrules-preview.json
+ - Microsoft.EventHub/preview/2018-01-01-preview/networkrulessets-preview.json
+
+```
+
+### Tag: schema-eventhub-2017-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventhub-2017-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventHub/stable/2017-04-01/AuthorizationRules.json
+ - Microsoft.EventHub/stable/2017-04-01/CheckNameAvailability.json
+ - Microsoft.EventHub/stable/2017-04-01/consumergroups.json
+ - Microsoft.EventHub/stable/2017-04-01/disasterRecoveryConfigs.json
+ - Microsoft.EventHub/stable/2017-04-01/eventhubs.json
+ - Microsoft.EventHub/stable/2017-04-01/namespaces.json
+ - Microsoft.EventHub/stable/2017-04-01/networkRuleSets.json
+ - Microsoft.EventHub/stable/2017-04-01/operations.json
+ - Microsoft.EventHub/stable/2017-04-01/sku.json
+
+```
+
+### Tag: schema-eventhub-2015-08-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventhub-2015-08-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventHub/stable/2015-08-01/EventHub.json
+
+```
+
+### Tag: schema-eventhub-2014-09-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-eventhub-2014-09-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.EventHub/stable/2014-09-01/EventHub.json
+
+```
diff --git a/specification/eventhub/resource-manager/readme.md b/specification/eventhub/resource-manager/readme.md
index a8da92c7327c..b717c083c289 100644
--- a/specification/eventhub/resource-manager/readme.md
+++ b/specification/eventhub/resource-manager/readme.md
@@ -29,6 +29,13 @@ openapi-type: arm
tag: package-2018-01-preview
```
+## Suppression
+
+``` yaml
+directive:
+ - suppress: R4007
+ reason: DefaultErrorResponseSchema - we will be Implementing in new API version
+```
### Tag: package-2017-04
@@ -114,6 +121,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_event_hub']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js eventhub/resource-manager
```
@@ -143,6 +153,10 @@ See configuration in [readme.go.md](./readme.go.md)
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListManagedRuleSets.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListManagedRuleSets.json
deleted file mode 100644
index b6ee1c3ee4db..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListManagedRuleSets.json
+++ /dev/null
@@ -1,69 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-05-01",
- "subscriptionId": "subid"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "DefaultRuleSet_1.0",
- "id": "/subscriptions/subid/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets",
- "type": "Microsoft.Network/frontdoorwebapplicationfirewallmanagedrulesets",
- "properties": {
- "provisioningState": "Succeeded",
- "ruleSetId": "8125d145-ddc5-4d90-9bc3-24c5f2de69a2",
- "ruleSetType": "DefaultRuleSet",
- "ruleSetVersion": "1.0",
- "ruleGroups": [
- {
- "ruleGroupName": "SQLI",
- "description": "SQL injection",
- "rules": [
- {
- "ruleId": "942100",
- "description": "SQL Injection Attack Detected via libinjection",
- "defaultState": "Enabled",
- "defaultAction": "Block"
- },
- {
- "ruleId": "942110",
- "description": "SQL Injection Attack: Common Injection Testing Detected",
- "defaultState": "Enabled",
- "defaultAction": "Block"
- }
- ]
- },
- {
- "ruleGroupName": "XSS",
- "description": "Cross-site scripting",
- "rules": [
- {
- "ruleId": "941100",
- "description": "XSS Attack Detected via libinjection",
- "defaultState": "Enabled",
- "defaultAction": "Block"
- },
- {
- "ruleId": "941101",
- "description": "XSS Attack Detected via libinjection",
- "defaultState": "Enabled",
- "defaultAction": "Block"
- },
- {
- "ruleId": "941110",
- "description": "XSS Filter - Category 1: Script Tag Vector",
- "defaultState": "Enabled",
- "defaultAction": "Block"
- }
- ]
- }
- ]
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json
deleted file mode 100644
index 8617a12656df..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafListPolicies.json
+++ /dev/null
@@ -1,130 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1"
- },
- "responses": {
- "200": {
- "body": {
- "value": [
- {
- "name": "Policy1",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
- "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- },
- "location": "WestUs",
- "properties": {
- "resourceState": "Enabled",
- "provisioningState": "Succeeded",
- "policySettings": {
- "enabledState": "Enabled",
- "mode": "Prevention",
- "redirectUrl": "http://www.bing.com",
- "customBlockResponseStatusCode": 499,
- "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
- },
- "customRules": {
- "rules": [
- {
- "name": "Rule1",
- "priority": 1,
- "enabledState": "Enabled",
- "ruleType": "RateLimitRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 1000,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "IPMatch",
- "negateCondition": false,
- "matchValue": [
- "192.168.1.0/24",
- "10.0.0.0/24"
- ],
- "transforms": []
- }
- ],
- "action": "Block"
- },
- {
- "name": "Rule2",
- "priority": 2,
- "enabledState": "Enabled",
- "ruleType": "MatchRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 0,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "GeoMatch",
- "negateCondition": false,
- "matchValue": [
- "CH"
- ]
- },
- {
- "matchVariable": "RequestHeader",
- "selector": "UserAgent",
- "operator": "Contains",
- "negateCondition": false,
- "matchValue": [
- "windows"
- ],
- "transforms": [
- "Lowercase"
- ]
- }
- ],
- "action": "Block"
- }
- ]
- },
- "managedRules": {
- "managedRuleSets": [
- {
- "ruleSetType": "DefaultRuleSet",
- "ruleSetVersion": "1.0",
- "exclusions": [
- {
- "matchVariable": "RequestHeaderNames",
- "selectorMatchOperator": "Equals",
- "selector": "User-Agent"
- }
- ],
- "ruleGroupOverrides": [
- {
- "ruleGroupName": "SQLI",
- "rules": [
- {
- "ruleId": "942100",
- "enabledState": "Enabled",
- "action": "Redirect"
- },
- {
- "ruleId": "942110",
- "enabledState": "Disabled"
- }
- ]
- }
- ]
- }
- ]
- },
- "frontendEndpointLinks": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontdoors/fd1/frontendendpoints/fd1-azurefd-net"
- }
- ]
- }
- }
- ]
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json
deleted file mode 100644
index f4c1a6c18373..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyCreateOrUpdate.json
+++ /dev/null
@@ -1,492 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "policyName": "Policy1",
- "parameters": {
- "properties": {
- "policySettings": {
- "redirectUrl": "http://www.bing.com",
- "customBlockResponseStatusCode": 499,
- "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
- },
- "customRules": {
- "rules": [
- {
- "name": "Rule1",
- "priority": 1,
- "ruleType": "RateLimitRule",
- "rateLimitThreshold": 1000,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "operator": "IPMatch",
- "matchValue": [
- "192.168.1.0/24",
- "10.0.0.0/24"
- ]
- }
- ],
- "action": "Block"
- },
- {
- "name": "Rule2",
- "priority": 2,
- "ruleType": "MatchRule",
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "operator": "GeoMatch",
- "matchValue": [
- "CH"
- ]
- },
- {
- "matchVariable": "RequestHeader",
- "operator": "Contains",
- "selector": "UserAgent",
- "matchValue": [
- "windows"
- ],
- "transforms": [
- "Lowercase"
- ]
- }
- ],
- "action": "Block"
- }
- ]
- },
- "managedRules": {
- "managedRuleSets": [
- {
- "ruleSetType": "DefaultRuleSet",
- "ruleSetVersion": "1.0",
- "exclusions": [
- {
- "matchVariable": "RequestHeaderNames",
- "selectorMatchOperator": "Equals",
- "selector": "User-Agent"
- }
- ],
- "ruleGroupOverrides": [
- {
- "ruleGroupName": "SQLI",
- "exclusions": [
- {
- "matchVariable": "RequestCookieNames",
- "selectorMatchOperator": "StartsWith",
- "selector": "token"
- }
- ],
- "rules": [
- {
- "ruleId": "942100",
- "enabledState": "Enabled",
- "action": "Redirect",
- "exclusions": [
- {
- "matchVariable": "QueryStringArgNames",
- "selectorMatchOperator": "Equals",
- "selector": "query"
- }
- ]
- },
- {
- "ruleId": "942110",
- "enabledState": "Disabled"
- }
- ]
- }
- ]
- }
- ]
- }
- }
- }
- },
- "responses": {
- "200": {
- "body": {
- "name": "Policy1",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
- "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- },
- "location": "WestUs",
- "properties": {
- "resourceState": "Enabled",
- "provisioningState": "Succeeded",
- "policySettings": {
- "enabledState": "Enabled",
- "mode": "Prevention",
- "redirectUrl": "http://www.bing.com",
- "customBlockResponseStatusCode": 499,
- "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
- },
- "customRules": {
- "rules": [
- {
- "name": "Rule1",
- "priority": 1,
- "enabledState": "Enabled",
- "ruleType": "RateLimitRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 1000,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "IPMatch",
- "negateCondition": false,
- "matchValue": [
- "192.168.1.0/24",
- "10.0.0.0/24"
- ],
- "transforms": []
- }
- ],
- "action": "Block"
- },
- {
- "name": "Rule2",
- "priority": 2,
- "enabledState": "Enabled",
- "ruleType": "MatchRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 0,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "GeoMatch",
- "negateCondition": false,
- "matchValue": [
- "CH"
- ]
- },
- {
- "matchVariable": "RequestHeader",
- "selector": "UserAgent",
- "operator": "Contains",
- "negateCondition": false,
- "matchValue": [
- "windows"
- ],
- "transforms": [
- "Lowercase"
- ]
- }
- ],
- "action": "Block"
- }
- ]
- },
- "managedRules": {
- "managedRuleSets": [
- {
- "ruleSetType": "DefaultRuleSet",
- "ruleSetVersion": "1.0",
- "exclusions": [
- {
- "matchVariable": "RequestHeaderNames",
- "selectorMatchOperator": "Equals",
- "selector": "User-Agent"
- }
- ],
- "ruleGroupOverrides": [
- {
- "ruleGroupName": "SQLI",
- "exclusions": [
- {
- "matchVariable": "RequestCookieNames",
- "selectorMatchOperator": "StartsWith",
- "selector": "token"
- }
- ],
- "rules": [
- {
- "ruleId": "942100",
- "enabledState": "Enabled",
- "action": "Redirect",
- "exclusions": [
- {
- "matchVariable": "QueryStringArgNames",
- "selectorMatchOperator": "Equals",
- "selector": "query"
- }
- ]
- },
- {
- "ruleId": "942110",
- "enabledState": "Disabled"
- }
- ]
- }
- ]
- }
- ]
- },
- "frontendEndpointLinks": []
- }
- }
- },
- "201": {
- "body": {
- "name": "Policy1",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
- "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- },
- "location": "WestUs",
- "properties": {
- "resourceState": "Enabled",
- "provisioningState": "Succeeded",
- "policySettings": {
- "enabledState": "Enabled",
- "mode": "Prevention",
- "redirectUrl": "http://www.bing.com",
- "customBlockResponseStatusCode": 499,
- "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
- },
- "customRules": {
- "rules": [
- {
- "name": "Rule1",
- "priority": 1,
- "enabledState": "Enabled",
- "ruleType": "RateLimitRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 1000,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "IPMatch",
- "negateCondition": false,
- "matchValue": [
- "192.168.1.0/24",
- "10.0.0.0/24"
- ],
- "transforms": []
- }
- ],
- "action": "Block"
- },
- {
- "name": "Rule2",
- "priority": 2,
- "enabledState": "Enabled",
- "ruleType": "MatchRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 0,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "GeoMatch",
- "negateCondition": false,
- "matchValue": [
- "CH"
- ]
- },
- {
- "matchVariable": "RequestHeader",
- "selector": "UserAgent",
- "operator": "Contains",
- "negateCondition": false,
- "matchValue": [
- "windows"
- ],
- "transforms": [
- "Lowercase"
- ]
- }
- ],
- "action": "Block"
- }
- ]
- },
- "managedRules": {
- "managedRuleSets": [
- {
- "ruleSetType": "DefaultRuleSet",
- "ruleSetVersion": "1.0",
- "exclusions": [
- {
- "matchVariable": "RequestHeaderNames",
- "selectorMatchOperator": "Equals",
- "selector": "User-Agent"
- }
- ],
- "ruleGroupOverrides": [
- {
- "ruleGroupName": "SQLI",
- "exclusions": [
- {
- "matchVariable": "RequestCookieNames",
- "selectorMatchOperator": "StartsWith",
- "selector": "token"
- }
- ],
- "rules": [
- {
- "ruleId": "942100",
- "enabledState": "Enabled",
- "action": "Redirect",
- "exclusions": [
- {
- "matchVariable": "QueryStringArgNames",
- "selectorMatchOperator": "Equals",
- "selector": "query"
- }
- ]
- },
- {
- "ruleId": "942110",
- "enabledState": "Disabled"
- }
- ]
- }
- ]
- }
- ]
- },
- "frontendEndpointLinks": []
- }
- }
- },
- "202": {
- "body": {
- "name": "Policy1",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
- "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- },
- "location": "WestUs",
- "properties": {
- "resourceState": "Enabled",
- "provisioningState": "Succeeded",
- "policySettings": {
- "enabledState": "Enabled",
- "mode": "Prevention",
- "redirectUrl": "http://www.bing.com",
- "customBlockResponseStatusCode": 499,
- "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
- },
- "customRules": {
- "rules": [
- {
- "name": "Rule1",
- "priority": 1,
- "enabledState": "Enabled",
- "ruleType": "RateLimitRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 1000,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "IPMatch",
- "negateCondition": false,
- "matchValue": [
- "192.168.1.0/24",
- "10.0.0.0/24"
- ],
- "transforms": []
- }
- ],
- "action": "Block"
- },
- {
- "name": "Rule2",
- "priority": 2,
- "enabledState": "Enabled",
- "ruleType": "MatchRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 0,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "GeoMatch",
- "negateCondition": false,
- "matchValue": [
- "CH"
- ]
- },
- {
- "matchVariable": "RequestHeader",
- "selector": "UserAgent",
- "operator": "Contains",
- "negateCondition": false,
- "matchValue": [
- "windows"
- ],
- "transforms": [
- "Lowercase"
- ]
- }
- ],
- "action": "Block"
- }
- ]
- },
- "managedRules": {
- "managedRuleSets": [
- {
- "ruleSetType": "DefaultRuleSet",
- "ruleSetVersion": "1.0",
- "exclusions": [
- {
- "matchVariable": "RequestHeaderNames",
- "selectorMatchOperator": "Equals",
- "selector": "User-Agent"
- }
- ],
- "ruleGroupOverrides": [
- {
- "ruleGroupName": "SQLI",
- "exclusions": [
- {
- "matchVariable": "RequestCookieNames",
- "selectorMatchOperator": "StartsWith",
- "selector": "token"
- }
- ],
- "rules": [
- {
- "ruleId": "942100",
- "enabledState": "Enabled",
- "action": "Redirect",
- "exclusions": [
- {
- "matchVariable": "QueryStringArgNames",
- "selectorMatchOperator": "Equals",
- "selector": "query"
- }
- ]
- },
- {
- "ruleId": "942110",
- "enabledState": "Disabled"
- }
- ]
- }
- ]
- }
- ]
- },
- "frontendEndpointLinks": []
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json
deleted file mode 100644
index aef1b725a529..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/examples/WafPolicyGet.json
+++ /dev/null
@@ -1,127 +0,0 @@
-{
- "parameters": {
- "api-version": "2020-05-01",
- "subscriptionId": "subid",
- "resourceGroupName": "rg1",
- "policyName": "Policy1"
- },
- "responses": {
- "200": {
- "body": {
- "name": "Policy1",
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/Policy1",
- "type": "Microsoft.Network/frontdoorwebapplicationfirewallpolicies",
- "tags": {
- "key1": "value1",
- "key2": "value2"
- },
- "location": "WestUs",
- "properties": {
- "resourceState": "Enabled",
- "provisioningState": "Succeeded",
- "policySettings": {
- "enabledState": "Enabled",
- "mode": "Prevention",
- "redirectUrl": "http://www.bing.com",
- "customBlockResponseStatusCode": 499,
- "customBlockResponseBody": "PGh0bWw+CjxoZWFkZXI+PHRpdGxlPkhlbGxvPC90aXRsZT48L2hlYWRlcj4KPGJvZHk+CkhlbGxvIHdvcmxkCjwvYm9keT4KPC9odG1sPg=="
- },
- "customRules": {
- "rules": [
- {
- "name": "Rule1",
- "priority": 1,
- "enabledState": "Enabled",
- "ruleType": "RateLimitRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 1000,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "IPMatch",
- "negateCondition": false,
- "matchValue": [
- "192.168.1.0/24",
- "10.0.0.0/24"
- ],
- "transforms": []
- }
- ],
- "action": "Block"
- },
- {
- "name": "Rule2",
- "priority": 2,
- "enabledState": "Enabled",
- "ruleType": "MatchRule",
- "rateLimitDurationInMinutes": 0,
- "rateLimitThreshold": 0,
- "matchConditions": [
- {
- "matchVariable": "RemoteAddr",
- "selector": null,
- "operator": "GeoMatch",
- "negateCondition": false,
- "matchValue": [
- "CH"
- ]
- },
- {
- "matchVariable": "RequestHeader",
- "selector": "UserAgent",
- "operator": "Contains",
- "negateCondition": false,
- "matchValue": [
- "windows"
- ],
- "transforms": [
- "Lowercase"
- ]
- }
- ],
- "action": "Block"
- }
- ]
- },
- "managedRules": {
- "managedRuleSets": [
- {
- "ruleSetType": "DefaultRuleSet",
- "ruleSetVersion": "1.0",
- "exclusions": [
- {
- "matchVariable": "RequestHeaderNames",
- "selectorMatchOperator": "Equals",
- "selector": "User-Agent"
- }
- ],
- "ruleGroupOverrides": [
- {
- "ruleGroupName": "SQLI",
- "rules": [
- {
- "ruleId": "942100",
- "enabledState": "Enabled",
- "action": "Redirect"
- },
- {
- "ruleId": "942110",
- "enabledState": "Disabled"
- }
- ]
- }
- ]
- }
- ]
- },
- "frontendEndpointLinks": [
- {
- "id": "/subscriptions/subid/resourceGroups/rg1/providers/Microsoft.Network/frontdoors/fd1/frontendendpoints/fd1-azurefd-net"
- }
- ]
- }
- }
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json b/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json
deleted file mode 100644
index e1deda8ac3cd..000000000000
--- a/specification/frontdoor/resource-manager/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json
+++ /dev/null
@@ -1,902 +0,0 @@
-{
- "swagger": "2.0",
- "info": {
- "version": "2020-05-01",
- "title": "WebApplicationFirewallManagement",
- "description": "APIs to manage web application firewall rules."
- },
- "host": "management.azure.com",
- "schemes": [
- "https"
- ],
- "consumes": [
- "application/json"
- ],
- "produces": [
- "application/json"
- ],
- "security": [
- {
- "azure_auth": [
- "user_impersonation"
- ]
- }
- ],
- "securityDefinitions": {
- "azure_auth": {
- "type": "oauth2",
- "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
- "flow": "implicit",
- "description": "Azure Active Directory OAuth2 Flow",
- "scopes": {
- "user_impersonation": "impersonate your user account"
- }
- }
- },
- "paths": {
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/frontDoorWebApplicationFirewallPolicies": {
- "get": {
- "tags": [
- "WebApplicationFirewallPolicies"
- ],
- "description": "Lists all of the protection policies within a resource group.",
- "operationId": "Policies_List",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/WebApplicationFirewallPolicyList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List Policies in a Resource Group": {
- "$ref": "./examples/WafListPolicies.json"
- }
- }
- }
- },
- "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallPolicies/{policyName}": {
- "get": {
- "tags": [
- "WebApplicationFirewallPolicies"
- ],
- "description": "Retrieve protection policy with specified name within a resource group.",
- "operationId": "Policies_Get",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/PolicyNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/WebApplicationFirewallPolicy"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Get Policy": {
- "$ref": "./examples/WafPolicyGet.json"
- }
- }
- },
- "put": {
- "tags": [
- "WebApplicationFirewallPolicies"
- ],
- "description": "Create or update policy with specified rule set name within a resource group.",
- "operationId": "Policies_CreateOrUpdate",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/PolicyNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- },
- {
- "description": "Policy to be created.",
- "in": "body",
- "name": "parameters",
- "required": true,
- "schema": {
- "$ref": "#/definitions/WebApplicationFirewallPolicy"
- }
- }
- ],
- "responses": {
- "200": {
- "description": "OK. The request has succeeded.",
- "schema": {
- "$ref": "#/definitions/WebApplicationFirewallPolicy"
- }
- },
- "201": {
- "description": "Created. The request has been fulfilled and a new protection policy has been created.",
- "schema": {
- "$ref": "#/definitions/WebApplicationFirewallPolicy"
- }
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously.",
- "schema": {
- "$ref": "#/definitions/WebApplicationFirewallPolicy"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-examples": {
- "Creates specific policy": {
- "$ref": "./examples/WafPolicyCreateOrUpdate.json"
- }
- },
- "x-ms-long-running-operation": true
- },
- "delete": {
- "tags": [
- "WebApplicationFirewallPolicies"
- ],
- "description": "Deletes Policy",
- "operationId": "Policies_Delete",
- "parameters": [
- {
- "$ref": "#/parameters/ResourceGroupNameParameter"
- },
- {
- "$ref": "#/parameters/PolicyNameParameter"
- },
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Delete successful."
- },
- "202": {
- "description": "Accepted. The request has been accepted for processing and the operation will complete asynchronously."
- },
- "204": {
- "description": "No Content. The request has been accepted but the policy was not found."
- }
- },
- "x-ms-examples": {
- "Delete protection policy": {
- "$ref": "./examples/WafPolicyDelete.json"
- }
- },
- "x-ms-long-running-operation": true
- }
- },
- "/subscriptions/{subscriptionId}/providers/Microsoft.Network/FrontDoorWebApplicationFirewallManagedRuleSets": {
- "get": {
- "tags": [
- "WebApplicationFirewallManagedRuleSets"
- ],
- "description": "Lists all available managed rule sets.",
- "operationId": "ManagedRuleSets_List",
- "parameters": [
- {
- "$ref": "./network.json#/parameters/SubscriptionIdParameter"
- },
- {
- "$ref": "./network.json#/parameters/ApiVersionParameter"
- }
- ],
- "responses": {
- "200": {
- "description": "Success. The operation returns a list of all available web application firewall managed rule sets.",
- "schema": {
- "$ref": "#/definitions/ManagedRuleSetDefinitionList"
- }
- },
- "default": {
- "description": "Error response describing why the operation failed.",
- "schema": {
- "$ref": "#/definitions/ErrorResponse"
- }
- }
- },
- "x-ms-pageable": {
- "nextLinkName": "nextLink"
- },
- "x-ms-examples": {
- "List Policies in a Resource Group": {
- "$ref": "./examples/WafListManagedRuleSets.json"
- }
- }
- }
- }
- },
- "definitions": {
- "WebApplicationFirewallPolicy": {
- "description": "Defines web application firewall policy.",
- "properties": {
- "properties": {
- "x-ms-client-flatten": true,
- "description": "Properties of the web application firewall policy.",
- "$ref": "#/definitions/WebApplicationFirewallPolicyProperties"
- },
- "etag": {
- "type": "string",
- "description": "Gets a unique read-only string that changes whenever the resource is updated."
- }
- },
- "allOf": [
- {
- "$ref": "./network.json#/definitions/Resource"
- }
- ]
- },
- "WebApplicationFirewallPolicyProperties": {
- "description": "Defines web application firewall policy properties.",
- "properties": {
- "policySettings": {
- "description": "Describes settings for the policy.",
- "$ref": "#/definitions/PolicySettings"
- },
- "customRules": {
- "description": "Describes custom rules inside the policy.",
- "$ref": "#/definitions/CustomRuleList"
- },
- "managedRules": {
- "description": "Describes managed rules inside the policy.",
- "$ref": "#/definitions/ManagedRuleSetList"
- },
- "frontendEndpointLinks": {
- "description": "Describes Frontend Endpoints associated with this Web Application Firewall policy.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/FrontendEndpointLink"
- }
- },
- "routingRuleLinks": {
- "description": "Describes Routing Rules associated with this Web Application Firewall policy.",
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/RoutingRuleLink"
- }
- },
- "provisioningState": {
- "readOnly": true,
- "type": "string",
- "description": "Provisioning state of the policy."
- },
- "resourceState": {
- "title": "Resource status of the policy.",
- "readOnly": true,
- "enum": [
- "Creating",
- "Enabling",
- "Enabled",
- "Disabling",
- "Disabled",
- "Deleting"
- ],
- "type": "string",
- "x-ms-enum": {
- "name": "PolicyResourceState",
- "modelAsString": true
- }
- }
- }
- },
- "WebApplicationFirewallPolicyList": {
- "description": "Defines a list of WebApplicationFirewallPolicies. It contains a list of WebApplicationFirewallPolicy objects and a URL link to get the next set of results.",
- "properties": {
- "value": {
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/WebApplicationFirewallPolicy"
- },
- "description": "List of WebApplicationFirewallPolicies within a resource group."
- },
- "nextLink": {
- "type": "string",
- "description": "URL to get the next set of WebApplicationFirewallPolicy objects if there are any."
- }
- }
- },
- "PolicySettings": {
- "description": "Defines top-level WebApplicationFirewallPolicy configuration settings.",
- "properties": {
- "enabledState": {
- "description": "Describes if the policy is in enabled or disabled state. Defaults to Enabled if not specified.",
- "type": "string",
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "x-ms-enum": {
- "name": "PolicyEnabledState",
- "modelAsString": true
- }
- },
- "mode": {
- "description": "Describes if it is in detection mode or prevention mode at policy level.",
- "type": "string",
- "enum": [
- "Prevention",
- "Detection"
- ],
- "x-ms-enum": {
- "name": "PolicyMode",
- "modelAsString": true
- }
- },
- "redirectUrl": {
- "description": "If action type is redirect, this field represents redirect URL for the client.",
- "type": "string"
- },
- "customBlockResponseStatusCode": {
- "description": "If the action type is block, customer can override the response status code.",
- "type": "integer"
- },
- "customBlockResponseBody": {
- "description": "If the action type is block, customer can override the response body. The body must be specified in base64 encoding.",
- "type": "string",
- "pattern": "^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=|[A-Za-z0-9+/]{4})$"
- }
- }
- },
- "CustomRuleList": {
- "description": "Defines contents of custom rules",
- "properties": {
- "rules": {
- "description": "List of rules",
- "type": "array",
- "items": {
- "$ref": "#/definitions/CustomRule"
- }
- }
- }
- },
- "CustomRule": {
- "description": "Defines contents of a web application rule",
- "required": [
- "priority",
- "ruleType",
- "matchConditions",
- "action"
- ],
- "properties": {
- "name": {
- "type": "string",
- "description": "Describes the name of the rule.",
- "maxLength": 128
- },
- "priority": {
- "description": "Describes priority of the rule. Rules with a lower value will be evaluated before rules with a higher value.",
- "type": "integer"
- },
- "enabledState": {
- "description": "Describes if the custom rule is in enabled or disabled state. Defaults to Enabled if not specified.",
- "type": "string",
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "x-ms-enum": {
- "name": "CustomRuleEnabledState",
- "modelAsString": true
- }
- },
- "ruleType": {
- "description": "Describes type of rule.",
- "type": "string",
- "enum": [
- "MatchRule",
- "RateLimitRule"
- ],
- "x-ms-enum": {
- "name": "RuleType",
- "modelAsString": true
- }
- },
- "rateLimitDurationInMinutes": {
- "description": "Time window for resetting the rate limit count. Default is 1 minute.",
- "type": "integer",
- "minimum": 0,
- "maximum": 5
- },
- "rateLimitThreshold": {
- "description": "Number of allowed requests per client within the time window.",
- "type": "integer",
- "minimum": 0
- },
- "matchConditions": {
- "description": "List of match conditions.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/MatchCondition"
- }
- },
- "action": {
- "description": "Describes what action to be applied when rule matches.",
- "$ref": "#/definitions/ActionType"
- }
- }
- },
- "TransformType": {
- "description": "Describes what transforms applied before matching.",
- "type": "string",
- "enum": [
- "Lowercase",
- "Uppercase",
- "Trim",
- "UrlDecode",
- "UrlEncode",
- "RemoveNulls"
- ],
- "x-ms-enum": {
- "name": "TransformType",
- "modelAsString": true
- }
- },
- "MatchCondition": {
- "description": "Define a match condition.",
- "required": [
- "matchVariable",
- "operator",
- "matchValue"
- ],
- "properties": {
- "matchVariable": {
- "description": "Request variable to compare with.",
- "type": "string",
- "enum": [
- "RemoteAddr",
- "RequestMethod",
- "QueryString",
- "PostArgs",
- "RequestUri",
- "RequestHeader",
- "RequestBody",
- "Cookies",
- "SocketAddr"
- ],
- "x-ms-enum": {
- "name": "MatchVariable",
- "modelAsString": true
- }
- },
- "selector": {
- "description": "Match against a specific key from the QueryString, PostArgs, RequestHeader or Cookies variables. Default is null.",
- "type": "string"
- },
- "operator": {
- "description": "Comparison type to use for matching with the variable value.",
- "type": "string",
- "enum": [
- "Any",
- "IPMatch",
- "GeoMatch",
- "Equal",
- "Contains",
- "LessThan",
- "GreaterThan",
- "LessThanOrEqual",
- "GreaterThanOrEqual",
- "BeginsWith",
- "EndsWith",
- "RegEx"
- ],
- "x-ms-enum": {
- "name": "Operator",
- "modelAsString": true
- }
- },
- "negateCondition": {
- "description": "Describes if the result of this condition should be negated.",
- "type": "boolean"
- },
- "matchValue": {
- "description": "List of possible match values.",
- "type": "array",
- "items": {
- "type": "string"
- }
- },
- "transforms": {
- "description": "List of transforms.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/TransformType"
- }
- }
- }
- },
- "ManagedRuleSetList": {
- "description": "Defines the list of managed rule sets for the policy.",
- "properties": {
- "managedRuleSets": {
- "description": "List of rule sets.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ManagedRuleSet"
- }
- }
- }
- },
- "ManagedRuleSet": {
- "type": "object",
- "description": "Defines a managed rule set.",
- "required": [
- "ruleSetType",
- "ruleSetVersion"
- ],
- "properties": {
- "ruleSetType": {
- "description": "Defines the rule set type to use.",
- "type": "string"
- },
- "ruleSetVersion": {
- "description": "Defines the version of the rule set to use.",
- "type": "string"
- },
- "exclusions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ManagedRuleExclusion"
- },
- "description": "Describes the exclusions that are applied to all rules in the set."
- },
- "ruleGroupOverrides": {
- "description": "Defines the rule group overrides to apply to the rule set.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ManagedRuleGroupOverride"
- }
- }
- }
- },
- "ManagedRuleGroupOverride": {
- "description": "Defines a managed rule group override setting.",
- "required": [
- "ruleGroupName"
- ],
- "properties": {
- "ruleGroupName": {
- "description": "Describes the managed rule group to override.",
- "type": "string"
- },
- "exclusions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ManagedRuleExclusion"
- },
- "description": "Describes the exclusions that are applied to all rules in the group."
- },
- "rules": {
- "description": "List of rules that will be disabled. If none specified, all rules in the group will be disabled.",
- "type": "array",
- "items": {
- "$ref": "#/definitions/ManagedRuleOverride"
- }
- }
- }
- },
- "ManagedRuleOverride": {
- "description": "Defines a managed rule group override setting.",
- "required": [
- "ruleId"
- ],
- "properties": {
- "ruleId": {
- "description": "Identifier for the managed rule.",
- "type": "string"
- },
- "enabledState": {
- "description": "Describes if the managed rule is in enabled or disabled state. Defaults to Disabled if not specified.",
- "$ref": "#/definitions/ManagedRuleEnabledState"
- },
- "action": {
- "description": "Describes the override action to be applied when rule matches.",
- "$ref": "#/definitions/ActionType"
- },
- "exclusions": {
- "type": "array",
- "items": {
- "$ref": "#/definitions/ManagedRuleExclusion"
- },
- "description": "Describes the exclusions that are applied to this specific rule."
- }
- }
- },
- "ManagedRuleSetDefinitionList": {
- "description": "List of managed rule set definitions available for use in a policy.",
- "properties": {
- "value": {
- "description": "List of managed rule set definitions.",
- "readOnly": true,
- "type": "array",
- "items": {
- "$ref": "#/definitions/ManagedRuleSetDefinition"
- }
- },
- "nextLink": {
- "type": "string",
- "description": "URL to retrieve next set of managed rule set definitions."
- }
- }
- },
- "ManagedRuleSetDefinition": {
- "description": "Describes the a managed rule set definition.",
- "properties": {
- "properties": {
- "description": "Properties for a managed rule set definition.",
- "x-ms-client-flatten": true,
- "$ref": "#/definitions/ManagedRuleSetDefinitionProperties"
- }
- },
- "allOf": [
- {
- "$ref": "./network.json#/definitions/Resource"
- }
- ]
- },
- "ManagedRuleSetDefinitionProperties": {
- "description": "Properties for a managed rule set definition.",
- "properties": {
- "provisioningState": {
- "type": "string",
- "readOnly": true,
- "description": "Provisioning state of the managed rule set."
- },
- "ruleSetId": {
- "type": "string",
- "readOnly": true,
- "description": "Id of the managed rule set."
- },
- "ruleSetType": {
- "type": "string",
- "readOnly": true,
- "description": "Type of the managed rule set."
- },
- "ruleSetVersion": {
- "type": "string",
- "readOnly": true,
- "description": "Version of the managed rule set type."
- },
- "ruleGroups": {
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/ManagedRuleGroupDefinition"
- },
- "description": "Rule groups of the managed rule set."
- }
- }
- },
- "ManagedRuleGroupDefinition": {
- "description": "Describes a managed rule group.",
- "properties": {
- "ruleGroupName": {
- "type": "string",
- "readOnly": true,
- "description": "Name of the managed rule group."
- },
- "description": {
- "type": "string",
- "readOnly": true,
- "description": "Description of the managed rule group."
- },
- "rules": {
- "type": "array",
- "readOnly": true,
- "items": {
- "$ref": "#/definitions/ManagedRuleDefinition"
- },
- "description": "List of rules within the managed rule group."
- }
- }
- },
- "ManagedRuleDefinition": {
- "description": "Describes a managed rule definition.",
- "properties": {
- "ruleId": {
- "description": "Identifier for the managed rule.",
- "readOnly": true,
- "type": "string"
- },
- "defaultState": {
- "description": "Describes the default state for the managed rule.",
- "readOnly": true,
- "$ref": "#/definitions/ManagedRuleEnabledState"
- },
- "defaultAction": {
- "description": "Describes the default action to be applied when the managed rule matches.",
- "readOnly": true,
- "$ref": "#/definitions/ActionType"
- },
- "description": {
- "description": "Describes the functionality of the managed rule.",
- "readOnly": true,
- "type": "string"
- }
- }
- },
- "ManagedRuleExclusion": {
- "required": [
- "matchVariable",
- "selectorMatchOperator",
- "selector"
- ],
- "description": "Exclude variables from managed rule evaluation.",
- "properties": {
- "matchVariable": {
- "type": "string",
- "enum": [
- "RequestHeaderNames",
- "RequestCookieNames",
- "QueryStringArgNames",
- "RequestBodyPostArgNames"
- ],
- "description": "The variable type to be excluded.",
- "x-ms-enum": {
- "name": "ManagedRuleExclusionMatchVariable",
- "modelAsString": true
- }
- },
- "selectorMatchOperator": {
- "type": "string",
- "enum": [
- "Equals",
- "Contains",
- "StartsWith",
- "EndsWith",
- "EqualsAny"
- ],
- "description": "Comparison operator to apply to the selector when specifying which elements in the collection this exclusion applies to.",
- "x-ms-enum": {
- "name": "ManagedRuleExclusionSelectorMatchOperator",
- "modelAsString": true
- }
- },
- "selector": {
- "type": "string",
- "description": "Selector value for which elements in the collection this exclusion applies to."
- }
- }
- },
- "ActionType": {
- "description": "Defines the action to take on rule match.",
- "type": "string",
- "enum": [
- "Allow",
- "Block",
- "Log",
- "Redirect"
- ],
- "x-ms-enum": {
- "name": "ActionType",
- "modelAsString": true
- }
- },
- "ManagedRuleEnabledState": {
- "description": "Describes if the managed rule is in enabled or disabled state.",
- "type": "string",
- "enum": [
- "Disabled",
- "Enabled"
- ],
- "x-ms-enum": {
- "name": "ManagedRuleEnabledState",
- "modelAsString": true
- }
- },
- "ErrorResponse": {
- "description": "Error response indicates Front Door service is not able to process the incoming request. The reason is provided in the error message.",
- "type": "object",
- "properties": {
- "code": {
- "description": "Error code.",
- "readOnly": true,
- "type": "string"
- },
- "message": {
- "description": "Error message indicating why the operation failed.",
- "readOnly": true,
- "type": "string"
- }
- }
- },
- "FrontendEndpointLink": {
- "description": "Defines the Resource ID for a Frontend Endpoint.",
- "type": "object",
- "readOnly": true,
- "properties": {
- "id": {
- "type": "string",
- "description": "Resource ID."
- }
- }
- },
- "RoutingRuleLink": {
- "description": "Defines the Resource ID for a Routing Rule.",
- "type": "object",
- "readOnly": true,
- "properties": {
- "id": {
- "type": "string",
- "description": "Resource ID."
- }
- }
- }
- },
- "parameters": {
- "PolicyNameParameter": {
- "name": "policyName",
- "in": "path",
- "required": true,
- "type": "string",
- "maxLength": 128,
- "x-ms-parameter-location": "method",
- "description": "The name of the Web Application Firewall Policy."
- },
- "ResourceGroupNameParameter": {
- "name": "resourceGroupName",
- "in": "path",
- "required": true,
- "type": "string",
- "pattern": "^[a-zA-Z0-9_\\-\\(\\)\\.]*[^\\.]$",
- "minLength": 1,
- "maxLength": 80,
- "x-ms-parameter-location": "method",
- "description": "Name of the Resource group within the Azure subscription."
- }
- }
-}
diff --git a/specification/frontdoor/resource-manager/readme.azureresourceschema.md b/specification/frontdoor/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..ced50d8c16cb
--- /dev/null
+++ b/specification/frontdoor/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,141 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-network-2020-05-01
+ - tag: schema-network-2020-04-01
+ - tag: schema-network-2020-01-01
+ - tag: schema-network-2019-11-01
+ - tag: schema-network-2019-10-01
+ - tag: schema-network-2019-05-01
+ - tag: schema-network-2019-04-01
+ - tag: schema-network-2019-03-01-preview
+ - tag: schema-network-2019-03-01
+ - tag: schema-network-2018-08-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-network-2020-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2020-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2020-05-01/network.json
+ - Microsoft.Network/stable/2020-05-01/frontdoor.json
+
+```
+
+### Tag: schema-network-2020-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2020-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json
+ - Microsoft.Network/stable/2020-04-01/network.json
+ - Microsoft.Network/stable/2020-04-01/frontdoor.json
+
+```
+
+### Tag: schema-network-2020-01-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2020-01-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2020-01-01/network.json
+ - Microsoft.Network/stable/2020-01-01/frontdoor.json
+
+```
+
+### Tag: schema-network-2019-11-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2019-11-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2019-11-01/networkexperiment.json
+ - Microsoft.Network/stable/2019-11-01/network.json
+
+```
+
+### Tag: schema-network-2019-10-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2019-10-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
+
+```
+
+### Tag: schema-network-2019-05-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2019-05-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2019-05-01/frontdoor.json
+ - Microsoft.Network/stable/2019-05-01/network.json
+
+```
+
+### Tag: schema-network-2019-04-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2019-04-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2019-04-01/frontdoor.json
+ - Microsoft.Network/stable/2019-04-01/network.json
+
+```
+
+### Tag: schema-network-2019-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2019-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/preview/2019-03-01-preview/webapplicationfirewall.json
+
+```
+
+### Tag: schema-network-2019-03-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2019-03-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/stable/2019-03-01/webapplicationfirewall.json
+
+```
+
+### Tag: schema-network-2018-08-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-network-2018-08-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Network/preview/2018-08-01-preview/frontdoor.json
+ - Microsoft.Network/preview/2018-08-01-preview/network.json
+ - Microsoft.Network/preview/2018-08-01-preview/webapplicationfirewall.json
+
+```
diff --git a/specification/frontdoor/resource-manager/readme.md b/specification/frontdoor/resource-manager/readme.md
index 4caa6148067b..ce0e0051fb2b 100644
--- a/specification/frontdoor/resource-manager/readme.md
+++ b/specification/frontdoor/resource-manager/readme.md
@@ -40,7 +40,7 @@ input-file:
- Microsoft.Network/stable/2020-05-01/network.json
- Microsoft.Network/stable/2019-11-01/networkexperiment.json
- Microsoft.Network/stable/2020-05-01/frontdoor.json
-- Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json
+- Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json
directive:
- where:
- $.paths
@@ -199,6 +199,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js frontdoor/resource-manager
```
@@ -257,6 +260,10 @@ directive:
reason: Direct copy of ValidateCustomDomain API in CDN Resource Provider.
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -272,10 +279,9 @@ input-file:
- $(this-folder)/Microsoft.Network/stable/2020-05-01/network.json
- $(this-folder)/Microsoft.Network/stable/2019-11-01/networkexperiment.json
- $(this-folder)/Microsoft.Network/stable/2020-05-01/frontdoor.json
- - $(this-folder)/Microsoft.Network/stable/2020-05-01/webapplicationfirewall.json
+ - $(this-folder)/Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json
- $(this-folder)/Microsoft.Network/stable/2020-04-01/network.json
- $(this-folder)/Microsoft.Network/stable/2020-04-01/frontdoor.json
- - $(this-folder)/Microsoft.Network/stable/2020-04-01/webapplicationfirewall.json
- $(this-folder)/Microsoft.Network/stable/2020-01-01/network.json
- $(this-folder)/Microsoft.Network/stable/2020-01-01/frontdoor.json
- $(this-folder)/Microsoft.Network/stable/2019-10-01/webapplicationfirewall.json
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..a76baeaef767
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationAssignment.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "WhitelistedApplication",
+ "api-version": "2020-06-25",
+ "parameters": {
+ "location": "westcentralus",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "name": "WhitelistedApplication",
+ "version": "1.*",
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": "False",
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": null,
+ "latestReportId": null,
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": "False",
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": null,
+ "latestReportId": null,
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": "False",
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
new file mode 100644
index 000000000000..bf76cff48d05
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/createOrUpdateGuestConfigurationHCRPAssignment.json
@@ -0,0 +1,104 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "WhitelistedApplication",
+ "api-version": "2020-06-25",
+ "parameters": {
+ "location": "westcentralus",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "name": "WhitelistedApplication",
+ "version": "1.*",
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": "False",
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ }
+ }
+ }
+ },
+ "responses": {
+ "201": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/HybridRP.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": "abcdr453g",
+ "latestReportId": "a2a64e5d-a1a9-4344-a866-fb9e1541f723",
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": "False",
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "westcentralus",
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/HybridRP.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/WhitelistedApplication",
+ "name": "WhitelistedApplication",
+ "properties": {
+ "complianceStatus": "Pending",
+ "assignmentHash": "abcdr453g",
+ "latestReportId": "a2a64e5d-a1a9-4344-a866-fb9e1541f723",
+ "lastComplianceStatusChecked": null,
+ "context": "Azure policy",
+ "guestConfiguration": {
+ "kind": null,
+ "name": "WhitelistedApplication",
+ "version": "1.0.0.3",
+ "contentUri": null,
+ "contentHash": null,
+ "configurationParameter": [
+ {
+ "name": "[InstalledApplication]bwhitelistedapp;Name",
+ "value": "NotePad,sql"
+ }
+ ],
+ "configurationSetting": {
+ "rebootIfNeeded": "False",
+ "actionAfterReboot": "ContinueConfiguration",
+ "configurationModeFrequencyMins": 15,
+ "configurationMode": "MonitorOnly"
+ }
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..c1b7a57adf30
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationAssignment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationHCRPAssignment.json
new file mode 100644
index 000000000000..28efd05339c9
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/deleteGuestConfigurationHCRPAssignment.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {}
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignment.json
new file mode 100644
index 000000000000..697d834134c5
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignment.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol",
+ "name": "AuditSecureProtocol",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignmentReportById.json
new file mode 100644
index 000000000000..73ad3b873bb8
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationAssignmentReportById.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myvm",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.0"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "uuid": "vmuuid"
+ },
+ "details": {
+ "complianceStatus": "Compliant",
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z",
+ "jobId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "resources": [
+ {
+ "complianceStatus": "Compliant",
+ "reasons": [
+ {
+ "phrase": "Operation successful.",
+ "code": "DSC::RESOURCE::SUCCESS"
+ }
+ ],
+ "properties": {
+ "ConfigurationName": "IsWebServerSecure",
+ "DependsOn": null,
+ "IsSingleInstance": "Yes",
+ "ModuleName": "SecureProtocolWebServer",
+ "ModuleVersion": "1.0.0.3",
+ "Protocols": [
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 2.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 3.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "PCT 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "Multi-Protocol Unified Hello"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.1"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.2"
+ }
+ ],
+ "PsDscRunAsCredential": null,
+ "Reasons": null,
+ "ResourceId": "[SecureWebServer]s1",
+ "SourceInfo": null
+ }
+ }
+ ],
+ "operationType": "Consistency"
+ },
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignment.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignment.json
new file mode 100644
index 000000000000..39d2e06d8ff4
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignment.json
@@ -0,0 +1,36 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "SecureProtocol",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol",
+ "name": "AuditSecureProtocol",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "E0D8941DD713F284284561648C00C18FA76C8602943C7CD38AFD73B56AE4C35F.E3B0C44298FC1C149AFBF4C8996FB92427AE41E4649B934CA495991B7852B855",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol/AuditSecureProtocol_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignmentReportById.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignmentReportById.json
new file mode 100644
index 000000000000..6a3a9bfe81ae
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/getGuestConfigurationHCRPAssignmentReportById.json
@@ -0,0 +1,95 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol",
+ "version": "1.0.0.0"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName",
+ "uuid": "vmuuid"
+ },
+ "details": {
+ "complianceStatus": "Compliant",
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z",
+ "jobId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "resources": [
+ {
+ "complianceStatus": "Compliant",
+ "reasons": [
+ {
+ "phrase": "Operation successful.",
+ "code": "DSC::RESOURCE::SUCCESS"
+ }
+ ],
+ "properties": {
+ "ConfigurationName": "IsWebServerSecure",
+ "DependsOn": null,
+ "IsSingleInstance": "Yes",
+ "ModuleName": "SecureProtocolWebServer",
+ "ModuleVersion": "1.0.0.3",
+ "Protocols": [
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 2.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "SSL 3.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "PCT 1.0"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "Multi-Protocol Unified Hello"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.1"
+ },
+ {
+ "Ensure": "Absent",
+ "Protocol": "TLS 1.2"
+ }
+ ],
+ "PsDscRunAsCredential": null,
+ "Reasons": null,
+ "ResourceId": "[SecureWebServer]s1",
+ "SourceInfo": null
+ }
+ }
+ ],
+ "operationType": "Consistency"
+ },
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationAssignmentReports.json
new file mode 100644
index 000000000000..807e7142f0e2
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationAssignmentReports.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ },
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "name": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T20:13:53Z",
+ "endTime": "2018-08-29T20:14:13Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationHCRPAssignmentReports.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationHCRPAssignmentReports.json
new file mode 100644
index 000000000000..4a372181cfcb
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listAllGuestConfigurationHCRPAssignmentReports.json
@@ -0,0 +1,60 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionid",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "guestConfigurationAssignmentName": "AuditSecureProtocol",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "name": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T22:13:53Z",
+ "endTime": "2018-08-29T22:14:13Z"
+ }
+ },
+ {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol/reports/41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "name": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignment": {
+ "name": "AuditSecureProtocol",
+ "configuration": {
+ "name": "AuditSecureProtocol"
+ }
+ },
+ "reportId": "41ee2caf-48f9-4999-a793-82ec7c6beb2c",
+ "vm": {
+ "id": "/subscriptions/mysubscriptionid/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName",
+ "uuid": "vmuuid"
+ },
+ "details": null,
+ "startTime": "2018-08-29T20:13:53Z",
+ "endTime": "2018-08-29T20:14:13Z"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationAssignments.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationAssignments.json
new file mode 100644
index 000000000000..132a9d3e2fe4
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationAssignments.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "vmName": "myVMName",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2",
+ "name": "AuditSecureProtocol2",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol2",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol2/AuditSecureProtocol2_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ },
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment",
+ "name": "myAssignment",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.Compute/virtualMachines/myvm/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "myAssignment",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/myAssignment/myAssignment.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationHCRPAssignments.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationHCRPAssignments.json
new file mode 100644
index 000000000000..233b51c01494
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listGuestConfigurationHCRPAssignments.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "mySubscriptionId",
+ "resourceGroupName": "myResourceGroupName",
+ "machineName": "myMachineName",
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": [
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2",
+ "name": "AuditSecureProtocol2",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/AuditSecureProtocol2/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "AuditSecureProtocol2",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/AuditSecureProtocol2/AuditSecureProtocol2_1.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ },
+ {
+ "location": "centraluseuap",
+ "id": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment",
+ "name": "myAssignment",
+ "properties": {
+ "complianceStatus": "Compliant",
+ "assignmentHash": "content hash",
+ "latestReportId": "/subscriptions/subscriptionId/resourceGroups/myResourceGroupName/providers/Microsoft.HybridCompute/machines/myMachineName/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/myAssignment/reports/7367cbb8-ae99-47d0-a33b-a283564d2cb1",
+ "lastComplianceStatusChecked": "2018-08-29T22:14:13Z",
+ "context": null,
+ "guestConfiguration": {
+ "kind": null,
+ "name": "myAssignment",
+ "version": "1.0.0.3",
+ "contentUri": "https://mystorageaccount.blob.core.windows.net/builtinconfig/myAssignment/myAssignment.0.0.3.zip",
+ "contentHash": "content hash",
+ "configurationParameter": [],
+ "configurationSetting": null
+ },
+ "provisioningState": null
+ }
+ }
+ ]
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listOperations.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listOperations.json
new file mode 100644
index 000000000000..eb4268a88642
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/examples/listOperations.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "api-version": "2020-06-25"
+ },
+ "responses": {
+ "200": {
+ "headers": {},
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/write",
+ "description": "Create new guest configuration assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/register/action",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Register",
+ "operation": "Registers the feature for Microsoft.GuestConfiguration.",
+ "description": "Registers the subscription for the Microsoft.GuestConfiguration resource provider."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/read",
+ "description": "Get guest configuration assignment."
+ },
+ "properties": null
+ },
+ {
+ "name": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read",
+ "display": {
+ "provider": "Microsoft Guest Configuration",
+ "resource": "Microsoft.GuestConfiguration/guestConfigurationAssignments",
+ "operation": "Microsoft.GuestConfiguration/guestConfigurationAssignments/reports/read",
+ "description": "Get guest configuration assignment report."
+ },
+ "properties": null
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json
new file mode 100644
index 000000000000..a2a372685861
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json
@@ -0,0 +1,1290 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "version": "2020-06-25",
+ "title": "GuestConfiguration"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": {
+ "put": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_CreateOrUpdate",
+ "description": "Creates an association between a VM and guest configuration",
+ "x-ms-examples": {
+ "Create or update guest configuration assignment": {
+ "$ref": "./examples/createOrUpdateGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ },
+ "description": "Parameters supplied to the create or update guest configuration assignment."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The guest configuration assignment for the VM was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "200": {
+ "description": "OK. The guest configuration assignment for the VM was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_Get",
+ "description": "Get information about a guest configuration assignment",
+ "x-ms-examples": {
+ "Get a guest configuration assignment": {
+ "$ref": "./examples/getGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The guest configuration assignment was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_Delete",
+ "description": "Delete a guest configuration assignment",
+ "x-ms-examples": {
+ "Delete an guest configuration assignment": {
+ "$ref": "./examples/deleteGuestConfigurationAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignments"
+ ],
+ "operationId": "GuestConfigurationAssignments_List",
+ "description": "List all guest configuration assignments for a virtual machine.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listGuestConfigurationAssignments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentReports"
+ ],
+ "operationId": "GuestConfigurationAssignmentReports_List",
+ "description": "List all reports for the guest configuration assignment, latest report first.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listAllGuestConfigurationAssignmentReports.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no reports returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReportList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentReports"
+ ],
+ "operationId": "GuestConfigurationAssignmentReports_Get",
+ "description": "Get a report for the guest configuration assignment, by reportId.",
+ "x-ms-examples": {
+ "Get a guest configuration assignment report by Id for a virtual machine": {
+ "$ref": "./examples/getGuestConfigurationAssignmentReportById.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "name": "reportId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The GUID for the guest configuration assignment report."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/VmNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but VM is not registered yet, hence no report was returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReport"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}": {
+ "put": {
+ "tags": [
+ "GuestConfigurationHCRPAssignments"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignments_CreateOrUpdate",
+ "description": "Creates an association between a ARC machine and guest configuration",
+ "x-ms-examples": {
+ "Create or update guest configuration assignment": {
+ "$ref": "./examples/createOrUpdateGuestConfigurationHCRPAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ },
+ "description": "Parameters supplied to the create or update guest configuration assignment."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "201": {
+ "description": "Created. The guest configuration assignment for the ARC machine was created successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "200": {
+ "description": "OK. The guest configuration assignment for the ARC machine was updated successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "get": {
+ "tags": [
+ "GuestConfigurationHCRPAssignments"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignments_Get",
+ "description": "Get information about a guest configuration assignment",
+ "x-ms-examples": {
+ "Get a guest configuration assignment": {
+ "$ref": "./examples/getGuestConfigurationHCRPAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. The guest configuration assignment was returned successfully.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ },
+ "delete": {
+ "tags": [
+ "GuestConfigurationHCRPAssignments"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignments_Delete",
+ "description": "Delete a guest configuration assignment",
+ "x-ms-examples": {
+ "Delete an guest configuration assignment": {
+ "$ref": "./examples/deleteGuestConfigurationHCRPAssignment.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Name of the guest configuration assignment"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments": {
+ "get": {
+ "tags": [
+ "GuestConfigurationHCRPAssignments"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignments_List",
+ "description": "List all guest configuration assignments for an ARC machine.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listGuestConfigurationHCRPAssignments.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentHCRPReports"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignmentReports_List",
+ "description": "List all reports for the guest configuration assignment, latest report first.",
+ "x-ms-examples": {
+ "List all guest configuration assignments for a virtual machine": {
+ "$ref": "./examples/listAllGuestConfigurationHCRPAssignmentReports.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Reports were returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no reports returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReportList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{machineName}/providers/Microsoft.GuestConfiguration/guestConfigurationAssignments/{guestConfigurationAssignmentName}/reports/{reportId}": {
+ "get": {
+ "tags": [
+ "GuestConfigurationAssignmentHCRPReports"
+ ],
+ "operationId": "GuestConfigurationHCRPAssignmentReports_Get",
+ "description": "Get a report for the guest configuration assignment, by reportId.",
+ "x-ms-examples": {
+ "Get a guest configuration assignment report by Id for a virtual machine": {
+ "$ref": "./examples/getGuestConfigurationHCRPAssignmentReportById.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "name": "guestConfigurationAssignmentName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The guest configuration assignment name."
+ },
+ {
+ "name": "reportId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The GUID for the guest configuration assignment report."
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/MachineNameParameter"
+ },
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK. This response is due one of these two reasons: 1. Report was returned successfully 2. Guest configuration assignment was found, but machine is not registered yet, hence no report was returned.",
+ "schema": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReport"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ },
+ "/providers/Microsoft.GuestConfiguration/operations": {
+ "get": {
+ "tags": [
+ "Operations"
+ ],
+ "description": "Lists all of the available GuestConfiguration REST API operations.",
+ "x-ms-examples": {
+ "Lists all of the available GuestConfiguration REST API operations": {
+ "$ref": "./examples/listOperations.json"
+ }
+ },
+ "operationId": "Operations_List",
+ "parameters": [
+ {
+ "$ref": "../../common/v1/definitions.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/OperationList"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "../../common/v1/definitions.json#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ },
+ "produces": [
+ "application/json"
+ ],
+ "consumes": [
+ "application/json"
+ ]
+ }
+ }
+ },
+ "definitions": {
+ "GuestConfigurationAssignmentList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuestConfigurationAssignment"
+ },
+ "description": "Result of the list guest configuration assignment operation."
+ }
+ },
+ "description": "The response of the list guest configuration assignment operation."
+ },
+ "GuestConfigurationAssignment": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": false,
+ "$ref": "#/definitions/GuestConfigurationAssignmentProperties",
+ "description": "Properties of the Guest configuration assignment."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../common/v1/definitions.json#/definitions/ProxyResource"
+ }
+ ],
+ "description": "Guest configuration assignment is an association between a machine and guest configuration."
+ },
+ "GuestConfigurationNavigation": {
+ "description": "Guest configuration is an artifact that encapsulates DSC configuration and its dependencies. The artifact is a zip file containing DSC configuration (as MOF) and dependent resources and other dependencies like modules.",
+ "properties": {
+ "kind": {
+ "type": "string",
+ "description": "Kind of the guest configuration. For example:DSC",
+ "x-ms-enum": {
+ "name": "kind",
+ "modelAsString": true
+ },
+ "enum": [
+ "DSC"
+ ]
+ },
+ "name": {
+ "type": "string",
+ "description": "Name of the guest configuration."
+ },
+ "version": {
+ "type": "string",
+ "description": "Version of the guest configuration."
+ },
+ "contentUri": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Uri of the storage where guest configuration package is uploaded."
+ },
+ "contentHash": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Combined hash of the guest configuration package and configuration parameters."
+ },
+ "configurationParameter": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ConfigurationParameter"
+ },
+ "description": "The configuration parameters for the guest configuration."
+ },
+ "configurationSetting": {
+ "$ref": "#/definitions/ConfigurationSetting",
+ "description": "The configuration setting for the guest configuration."
+ }
+ }
+ },
+ "ConfigurationParameter": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Name of the configuration parameter."
+ },
+ "value": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Value of the configuration parameter."
+ }
+ },
+ "description": "Represents a configuration parameter."
+ },
+ "ConfigurationSetting": {
+ "properties": {
+ "configurationMode": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Specifies how the LCM(Local Configuration Manager) actually applies the configuration to the target nodes. Possible values are ApplyOnly, ApplyAndMonitor, and ApplyAndAutoCorrect.",
+ "x-ms-enum": {
+ "name": "configurationMode",
+ "modelAsString": true
+ },
+ "enum": [
+ "ApplyOnly",
+ "ApplyAndMonitor",
+ "ApplyAndAutoCorrect"
+ ]
+ },
+ "allowModuleOverwrite": {
+ "type": "string",
+ "description": "If true - new configurations downloaded from the pull service are allowed to overwrite the old ones on the target node. Otherwise, false",
+ "x-ms-enum": {
+ "name": "allowModuleOverwrite",
+ "modelAsString": true
+ },
+ "enum": [
+ "True",
+ "False"
+ ]
+ },
+ "actionAfterReboot": {
+ "type": "string",
+ "readOnly": false,
+ "description": "Specifies what happens after a reboot during the application of a configuration. The possible values are ContinueConfiguration and StopConfiguration",
+ "x-ms-enum": {
+ "name": "actionAfterReboot",
+ "modelAsString": true
+ },
+ "enum": [
+ "ContinueConfiguration",
+ "StopConfiguration"
+ ]
+ },
+ "refreshFrequencyMins": {
+ "type": "number",
+ "readOnly": false,
+ "default": 30,
+ "description": "The time interval, in minutes, at which the LCM checks a pull service to get updated configurations. This value is ignored if the LCM is not configured in pull mode. The default value is 30."
+ },
+ "rebootIfNeeded": {
+ "type": "string",
+ "readOnly": false,
+ "default": "False",
+ "description": "Set this to true to automatically reboot the node after a configuration that requires reboot is applied. Otherwise, you will have to manually reboot the node for any configuration that requires it. The default value is false. To use this setting when a reboot condition is enacted by something other than DSC (such as Windows Installer), combine this setting with the xPendingReboot module.",
+ "x-ms-enum": {
+ "name": "rebootIfNeeded",
+ "modelAsString": true
+ },
+ "enum": [
+ "True",
+ "False"
+ ]
+ },
+ "configurationModeFrequencyMins": {
+ "type": "number",
+ "readOnly": false,
+ "default": 15,
+ "description": "How often, in minutes, the current configuration is checked and applied. This property is ignored if the ConfigurationMode property is set to ApplyOnly. The default value is 15."
+ }
+ },
+ "description": "Configuration setting of LCM (Local Configuration Manager)."
+ },
+ "AssignmentReport": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ARM resource id of the report for the guest configuration assignment."
+ },
+ "reportId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group."
+ },
+ "assignment": {
+ "$ref": "#/definitions/AssignmentInfo",
+ "description": "Configuration details of the guest configuration assignment."
+ },
+ "vm": {
+ "$ref": "#/definitions/VMInfo",
+ "description": "Information about the VM."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start date and time of the guest configuration assignment compliance status check."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End date and time of the guest configuration assignment compliance status check."
+ },
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of report, Consistency or Initial",
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true
+ },
+ "enum": [
+ "Consistency",
+ "Initial"
+ ]
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AssignmentReportResource"
+ },
+ "description": "The list of resources for which guest configuration assignment compliance is checked."
+ }
+ }
+ },
+ "GuestConfigurationAssignmentProperties": {
+ "properties": {
+ "targetResourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "VM resource Id.",
+ "x-nullable": true
+ },
+ "guestConfiguration": {
+ "$ref": "#/definitions/GuestConfigurationNavigation",
+ "description": "The guest configuration to assign."
+ },
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "lastComplianceStatusChecked": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Date and time when last compliance status was checked.",
+ "x-nullable": true
+ },
+ "latestReportId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Id of the latest report for the guest configuration assignment. ",
+ "x-nullable": true
+ },
+ "latestAssignmentReport": {
+ "$ref": "#/definitions/AssignmentReport",
+ "description": "Last reported guest configuration assignment report."
+ },
+ "context": {
+ "type": "string",
+ "description": "The source which initiated the guest configuration assignment. Ex: Azure Policy"
+ },
+ "assignmentHash": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Combined hash of the configuration package and parameters.",
+ "x-nullable": true
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response.",
+ "x-nullable": true,
+ "x-ms-enum": {
+ "name": "provisioningState",
+ "modelAsString": true
+ },
+ "enum": [
+ "Succeeded",
+ "Failed",
+ "Canceled",
+ "Created"
+ ]
+ }
+ },
+ "description": "Guest configuration assignment properties."
+ },
+ "GuestConfigurationAssignmentReportList": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReport"
+ },
+ "description": "List of reports for the guest configuration. Report contains information such as compliance status, reason and more."
+ }
+ },
+ "description": "List of guest configuration assignment reports."
+ },
+ "GuestConfigurationAssignmentReport": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "ARM resource id of the report for the guest configuration assignment."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group."
+ },
+ "properties": {
+ "$ref": "#/definitions/GuestConfigurationAssignmentReportProperties",
+ "description": "Properties of the guest configuration report."
+ }
+ },
+ "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more."
+ },
+ "GuestConfigurationAssignmentReportProperties": {
+ "properties": {
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "reportId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID that identifies the guest configuration assignment report under a subscription, resource group."
+ },
+ "assignment": {
+ "$ref": "#/definitions/AssignmentInfo",
+ "description": "Configuration details of the guest configuration assignment."
+ },
+ "vm": {
+ "$ref": "#/definitions/VMInfo",
+ "description": "Information about the VM."
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start date and time of the guest configuration assignment compliance status check."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End date and time of the guest configuration assignment compliance status check."
+ },
+ "details": {
+ "$ref": "#/definitions/AssignmentReportDetails",
+ "description": "Details of the assignment report.",
+ "x-nullable": true
+ }
+ },
+ "description": "Report for the guest configuration assignment. Report contains information such as compliance status, reason, and more."
+ },
+ "AssignmentInfo": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the guest configuration assignment."
+ },
+ "configuration": {
+ "$ref": "#/definitions/ConfigurationInfo",
+ "description": "Information about the configuration."
+ }
+ },
+ "description": "Information about the guest configuration assignment."
+ },
+ "VMInfo": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id of the VM."
+ },
+ "uuid": {
+ "type": "string",
+ "readOnly": true,
+ "description": "UUID(Universally Unique Identifier) of the VM."
+ }
+ },
+ "description": "Information about the VM."
+ },
+ "ConfigurationInfo": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the configuration."
+ },
+ "version": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Version of the configuration."
+ }
+ },
+ "description": "Information about the configuration."
+ },
+ "AssignmentReportDetails": {
+ "properties": {
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "startTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "Start date and time of the guest configuration assignment compliance status check."
+ },
+ "endTime": {
+ "type": "string",
+ "format": "date-time",
+ "readOnly": true,
+ "description": "End date and time of the guest configuration assignment compliance status check."
+ },
+ "jobId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "GUID of the report."
+ },
+ "operationType": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Type of report, Consistency or Initial",
+ "x-ms-enum": {
+ "name": "type",
+ "modelAsString": true
+ },
+ "enum": [
+ "Consistency",
+ "Initial"
+ ]
+ },
+ "resources": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AssignmentReportResource"
+ },
+ "description": "The list of resources for which guest configuration assignment compliance is checked."
+ }
+ },
+ "description": "Details of the guest configuration assignment report."
+ },
+ "AssignmentReportResource": {
+ "properties": {
+ "complianceStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "A value indicating compliance status of the machine for the assigned guest configuration.",
+ "x-ms-enum": {
+ "name": "complianceStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "Compliant",
+ "NonCompliant",
+ "Pending"
+ ]
+ },
+ "resourceId": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Name of the guest configuration assignment resource setting."
+ },
+ "reasons": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/AssignmentReportResourceComplianceReason"
+ },
+ "description": "Compliance reason and reason code for a resource."
+ },
+ "properties": {
+ "type": "object",
+ "readOnly": true,
+ "description": "Properties of a guest configuration assignment resource."
+ }
+ },
+ "description": "The guest configuration assignment resource."
+ },
+ "AssignmentReportResourceComplianceReason": {
+ "properties": {
+ "phrase": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Reason for the compliance of the guest configuration assignment resource."
+ },
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Code for the compliance of the guest configuration assignment resource."
+ }
+ },
+ "description": "Reason and code for the compliance of the guest configuration assignment resource."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/guestconfiguration/resource-manager/readme.az.md b/specification/guestconfiguration/resource-manager/readme.az.md
index 319a17cc5022..3041965528d8 100644
--- a/specification/guestconfiguration/resource-manager/readme.az.md
+++ b/specification/guestconfiguration/resource-manager/readme.az.md
@@ -17,5 +17,7 @@ cli:
prop: 'properties'
flatten: true
-
+ - where:
+ op: 'CreateOrUpdate#Create|Delete|CreateOrUpdate#Update'
+ hidden: true
```
diff --git a/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md b/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..22f8040208d4
--- /dev/null
+++ b/specification/guestconfiguration/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,60 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-guestconfiguration-2020-06-25
+ - tag: schema-guestconfiguration-2018-11-20
+ - tag: schema-guestconfiguration-2018-06-30-preview
+ - tag: schema-guestconfiguration-2018-01-20-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-guestconfiguration-2020-06-25 and azureresourceschema
+
+``` yaml $(tag) == 'schema-guestconfiguration-2020-06-25' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json
+
+```
+
+### Tag: schema-guestconfiguration-2018-11-20 and azureresourceschema
+
+``` yaml $(tag) == 'schema-guestconfiguration-2018-11-20' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json
+
+```
+
+### Tag: schema-guestconfiguration-2018-06-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-guestconfiguration-2018-06-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json
+
+```
+
+### Tag: schema-guestconfiguration-2018-01-20-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-guestconfiguration-2018-01-20-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json
+
+```
diff --git a/specification/guestconfiguration/resource-manager/readme.md b/specification/guestconfiguration/resource-manager/readme.md
index 8c7d94f58edd..8fba3db7e828 100644
--- a/specification/guestconfiguration/resource-manager/readme.md
+++ b/specification/guestconfiguration/resource-manager/readme.md
@@ -28,7 +28,16 @@ These are the global settings for the Guest Configuration API.
title: GuestConfigurationClient
description: Guest Configuration Client
openapi-type: arm
-tag: package-2018-11-20
+tag: package-2020-06-25
+```
+
+### Tag: package-2020-06-25
+
+These settings apply only when `--tag=package-2020-06-25` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-06-25'
+input-file:
+ - Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json
```
### Tag: package-2018-11-20
@@ -104,6 +113,9 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js guestconfiguration/resource-manager
```
@@ -121,6 +133,10 @@ csharp:
clear-output-folder: true
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -133,6 +149,7 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.GuestConfiguration/stable/2020-06-25/guestconfiguration.json
- $(this-folder)/Microsoft.GuestConfiguration/stable/2018-11-20/guestconfiguration.json
- $(this-folder)/Microsoft.GuestConfiguration/preview/2018-06-30-preview/guestconfiguration.json
- $(this-folder)/Microsoft.GuestConfiguration/preview/2018-01-20-preview/guestconfiguration.json
diff --git a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json
index a1567dab1709..d83d757ce054 100644
--- a/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json
+++ b/specification/hanaonazure/resource-manager/Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json
@@ -497,65 +497,6 @@
}
},
"definitions": {
- "Resource": {
- "description": "The core properties of ARM resources",
- "properties": {
- "id": {
- "readOnly": true,
- "type": "string",
- "description": "Fully qualified resource Id for the resource. Ex - /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Network/trafficManagerProfiles/{resourceName}"
- },
- "name": {
- "readOnly": true,
- "type": "string",
- "description": "The name of the resource"
- },
- "type": {
- "readOnly": true,
- "type": "string",
- "description": "The type of the resource. Ex- Microsoft.Network/trafficManagerProfiles."
- }
- },
- "x-ms-azure-resource": true
- },
- "TrackedResource": {
- "description": "The resource model definition for a ARM tracked top level resource",
- "properties": {
- "tags": {
- "type": "object",
- "additionalProperties": {
- "type": "string"
- },
- "x-ms-mutability": [
- "read",
- "create",
- "update"
- ],
- "description": "Resource tags."
- },
- "location": {
- "type": "string",
- "x-ms-mutability": [
- "read",
- "create"
- ],
- "description": "The Azure Region where the resource lives"
- }
- },
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
- "ProxyResource": {
- "description": "The resource model definition for a ARM proxy resource. It will have everything other than required location and tags",
- "allOf": [
- {
- "$ref": "#/definitions/Resource"
- }
- ]
- },
"OperationList": {
"type": "object",
"properties": {
@@ -668,7 +609,7 @@
},
"allOf": [
{
- "$ref": "#/definitions/TrackedResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
}
],
"description": "SAP monitor info on Azure (ARM properties and SAP monitor properties)"
@@ -752,7 +693,7 @@
},
"allOf": [
{
- "$ref": "#/definitions/ProxyResource"
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
}
],
"description": "A provider instance associated with a SAP monitor."
diff --git a/specification/hanaonazure/resource-manager/readme.azureresourceschema.md b/specification/hanaonazure/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..22ee3b84d3de
--- /dev/null
+++ b/specification/hanaonazure/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-hanaonazure-2020-02-07-preview
+ - tag: schema-hanaonazure-2017-11-03-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-hanaonazure-2020-02-07-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-hanaonazure-2020-02-07-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HanaOnAzure/preview/2020-02-07-preview/hanaonazure.json
+
+```
+
+### Tag: schema-hanaonazure-2017-11-03-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-hanaonazure-2017-11-03-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HanaOnAzure/preview/2017-11-03-preview/hanaonazure.json
+
+```
diff --git a/specification/hanaonazure/resource-manager/readme.md b/specification/hanaonazure/resource-manager/readme.md
index 301fed2c8de8..60358b1842ef 100644
--- a/specification/hanaonazure/resource-manager/readme.md
+++ b/specification/hanaonazure/resource-manager/readme.md
@@ -67,6 +67,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js hanaonazure/resource-manager
```
## Go
@@ -109,6 +112,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.azureresourceschema.md b/specification/hardwaresecuritymodules/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..1bb0e7808dae
--- /dev/null
+++ b/specification/hardwaresecuritymodules/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-hardwaresecuritymodules-2018-10-31-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-hardwaresecuritymodules-2018-10-31-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-hardwaresecuritymodules-2018-10-31-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HardwareSecurityModules/preview/2018-10-31-preview/dedicatedhsm.json
+
+```
diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.go.md b/specification/hardwaresecuritymodules/resource-manager/readme.go.md
new file mode 100644
index 000000000000..d346e30613a2
--- /dev/null
+++ b/specification/hardwaresecuritymodules/resource-manager/readme.go.md
@@ -0,0 +1,26 @@
+## Go
+
+These settings apply only when `--go` is specified on the command line.
+
+```yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ namespace: hardwaresecuritymodules
+ clear-output-folder: true
+```
+
+### Go multi-api
+
+```yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2018-10
+```
+
+### Tag: package-2018-10 and go
+
+These settings apply only when `--tag=package-2018-10 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+```yaml $(tag)=='package-2018-10' && $(go)
+output-folder: $(go-sdk-folder)/services/preview/$(namespace)/mgmt/2018-10-31-preview/$(namespace)
+```
\ No newline at end of file
diff --git a/specification/hardwaresecuritymodules/resource-manager/readme.md b/specification/hardwaresecuritymodules/resource-manager/readme.md
index 33848571baec..bb675df38663 100644
--- a/specification/hardwaresecuritymodules/resource-manager/readme.md
+++ b/specification/hardwaresecuritymodules/resource-manager/readme.md
@@ -30,7 +30,7 @@ tag: package-2018-10
```
-### Tag: package-2018-02
+### Tag: package-2018-10
These settings apply only when `--tag=package-2018-10` is specified on the command line.
@@ -41,6 +41,10 @@ input-file:
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -76,5 +80,8 @@ This is not used by Autorest itself.
``` yaml $(swagger-to-sdk)
swagger-to-sdk:
- repo: azure-cli-extensions
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js hardwaresecuritymodules/resource-manager
```
diff --git a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json
index d5cbc84df867..98c9f0e22eb5 100644
--- a/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json
+++ b/specification/hdinsight/data-plane/Microsoft.HDInsight/preview/2018-11-01-preview/livySpark.json
@@ -705,14 +705,17 @@
"type": "object",
"properties": {
"from": {
+ "description": "The start index to fetch Spark Batch jobs.",
"format": "int32",
"type": "integer"
},
"total": {
+ "description": "Number of Spark Batch jobs to fetch.",
"format": "int32",
"type": "integer"
},
"sessions": {
+ "description": "List of spark batch jobs.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -725,22 +728,27 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark batch job.",
"format": "int32",
"type": "integer"
},
"appId": {
+ "description": "The application id of this job.",
"type": "string"
},
"appInfo": {
+ "description": "The detailed application info.",
"type": "object",
"additionalProperties": {
"type": "string"
}
},
"state": {
- "type": "string"
+ "description": "The current state of the spark batch job",
+ "$ref": "#/definitions/JobState"
},
"log": {
+ "description": "The log lines.",
"x-ms-client-name": "logLines",
"uniqueItems": false,
"type": "array",
@@ -754,15 +762,19 @@
"type": "object",
"properties": {
"file": {
+ "description": "File containing the application to execute.",
"type": "string"
},
"proxyUser": {
+ "description": "User to impersonate when running the job.",
"type": "string"
},
"className": {
+ "description": "Application Java/Spark main class.",
"type": "string"
},
"args": {
+ "description": "Command line arguments for the application.",
"x-ms-client-name": "arguments",
"uniqueItems": false,
"type": "array",
@@ -771,6 +783,7 @@
}
},
"jars": {
+ "description": "Jars to be used in this batch job.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -778,6 +791,7 @@
}
},
"pyFiles": {
+ "description": "Python files to be used in this batch job.",
"x-ms-client-name": "pythonFiles",
"uniqueItems": false,
"type": "array",
@@ -786,6 +800,7 @@
}
},
"files": {
+ "description": "Files to be used in this batch job.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -793,25 +808,31 @@
}
},
"driverMemory": {
+ "description": "Amount of memory to use for the driver process.",
"type": "string"
},
"driverCores": {
+ "description": "Number of cores to use for the driver process.",
"format": "int32",
"type": "integer"
},
"executorMemory": {
+ "description": "Amount of memory to use per executor process.",
"type": "string"
},
"executorCores": {
+ "description": "Number of cores to use for each executor.",
"format": "int32",
"type": "integer"
},
"numExecutors": {
+ "description": "Number of executors to launch for this batch job.",
"x-ms-client-name": "executorCount",
"format": "int32",
"type": "integer"
},
"archives": {
+ "description": "Archives to be used in this batch job.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -819,12 +840,15 @@
}
},
"queue": {
+ "description": "The name of the YARN queue to which submitted.",
"type": "string"
},
"name": {
+ "description": "The name of this batch job.",
"type": "string"
},
"conf": {
+ "description": "Spark configuration properties.",
"x-ms-client-name": "configuration",
"type": "object",
"additionalProperties": {
@@ -837,14 +861,17 @@
"type": "object",
"properties": {
"from": {
+ "description": "The start index to fetch spark sessions.",
"format": "int32",
"type": "integer"
},
"total": {
+ "description": "Number of spark sessions to fetch.",
"format": "int32",
"type": "integer"
},
"sessions": {
+ "description": "List of spark sessions.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -857,22 +884,28 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark session job.",
"format": "int32",
"type": "integer"
},
"appId": {
+ "description": "The application id of this job.",
"type": "string"
},
"owner": {
+ "description": "Remote user who submitted this job.",
"type": "string"
},
"proxyUser": {
+ "description": "User to impersonate when running.",
"type": "string"
},
"kind": {
- "type": "string"
+ "description": "Spark session job kind.",
+ "$ref": "#/definitions/SessionJobKind"
},
"log": {
+ "description": "The log lines.",
"x-ms-client-name": "logLines",
"uniqueItems": false,
"type": "array",
@@ -881,9 +914,11 @@
}
},
"state": {
- "type": "string"
+ "description": "The current state of the spark session job",
+ "$ref": "#/definitions/JobState"
},
"appInfo": {
+ "description": "The detailed application info.",
"type": "object",
"additionalProperties": {
"type": "string"
@@ -895,22 +930,15 @@
"type": "object",
"properties": {
"kind": {
- "type": "string",
- "x-ms-enum": {
- "name": "SessionJobKind",
- "modelAsString": true
- },
- "enum": [
- "spark",
- "pyspark",
- "sparkr",
- "sql"
- ]
+ "description": "Spark session job kind.",
+ "$ref": "#/definitions/SessionJobKind"
},
"proxyUser": {
+ "description": "User to impersonate when starting the session.",
"type": "string"
},
"jars": {
+ "description": "Jars to be used in this session.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -918,6 +946,7 @@
}
},
"pyFiles": {
+ "description": "Python files to be used in this session.",
"x-ms-client-name": "pythonFiles",
"uniqueItems": false,
"type": "array",
@@ -926,6 +955,7 @@
}
},
"files": {
+ "description": "Files to be used in this session.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -933,25 +963,31 @@
}
},
"driverMemory": {
+ "description": "Amount of memory to use for the driver process.",
"type": "string"
},
"driverCores": {
+ "description": "Number of cores to use for the driver process.",
"format": "int32",
"type": "integer"
},
"executorMemory": {
+ "description": "Amount of memory to use per executor process.",
"type": "string"
},
"executorCores": {
+ "description": "Number of cores to use for each executor.",
"format": "int32",
"type": "integer"
},
"numExecutors": {
+ "description": "Number of executors to launch for this session.",
"x-ms-client-name": "executorCount",
"format": "int32",
"type": "integer"
},
"archives": {
+ "description": "Archives to be used in this session.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -959,12 +995,15 @@
}
},
"queue": {
+ "description": "The name of the YARN queue to which submitted.",
"type": "string"
},
"name": {
+ "description": "The name of this session.",
"type": "string"
},
"conf": {
+ "description": "Spark configuration properties.",
"x-ms-client-name": "configuration",
"type": "object",
"additionalProperties": {
@@ -972,6 +1011,7 @@
}
},
"heartbeatTimeoutInSecond": {
+ "description": "Timeout in second to which session be orphaned.",
"format": "int32",
"type": "integer"
}
@@ -981,22 +1021,27 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark job.",
"format": "int32",
"type": "integer"
},
"from": {
+ "description": "Offset from start of log.",
"format": "int32",
"type": "integer"
},
"size": {
+ "description": "Max number of log lines.",
"format": "int32",
"type": "integer"
},
"total": {
+ "description": "Total number of log lines.",
"format": "int64",
"type": "integer"
},
"log": {
+ "description": "The log lines.",
"x-ms-client-name": "logLines",
"uniqueItems": false,
"type": "array",
@@ -1010,11 +1055,13 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark job.",
"format": "int32",
"type": "integer"
},
"state": {
- "type": "string"
+ "description": "The current state of the spark job",
+ "$ref": "#/definitions/JobState"
}
}
},
@@ -1022,6 +1069,7 @@
"type": "object",
"properties": {
"statements": {
+ "description": "List of spark statements.",
"uniqueItems": false,
"type": "array",
"items": {
@@ -1034,19 +1082,24 @@
"type": "object",
"properties": {
"id": {
+ "description": "The livy id of the spark statement job.",
"format": "int32",
"type": "integer"
},
"code": {
+ "description": "The execution code.",
"type": "string"
},
"state": {
- "type": "string"
+ "description": "The current state of the spark statement.",
+ "$ref": "#/definitions/StatementState"
},
"output": {
+ "description": "The execution output.",
"$ref": "#/definitions/SparkStatementOutput"
},
"progress": {
+ "description": "The execution progress.",
"type": "number",
"format": "double"
}
@@ -1056,17 +1109,80 @@
"type": "object",
"properties": {
"status": {
- "type": "string"
+ "description": "Execution status.",
+ "$ref": "#/definitions/StatementExecutionStatus"
},
"execution_count": {
+ "description": "A monotonically increasing number.",
"format": "int32",
"type": "integer"
},
"data": {
+ "description": "Statement output.",
"type": "object"
}
}
},
+ "SessionJobKind": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "SessionJobKind",
+ "modelAsString": true
+ },
+ "enum": [
+ "spark",
+ "pyspark",
+ "sparkr",
+ "sql"
+ ]
+ },
+ "StatementState": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StatementState",
+ "modelAsString": true
+ },
+ "enum": [
+ "waiting",
+ "running",
+ "available",
+ "error",
+ "cancelling",
+ "cancelled"
+ ]
+ },
+ "JobState": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "JobState",
+ "modelAsString": true
+ },
+ "enum": [
+ "not_started",
+ "starting",
+ "idle",
+ "running",
+ "busy",
+ "shutting_down",
+ "error",
+ "dead",
+ "killed",
+ "success",
+ "recovering"
+ ]
+ },
+ "StatementExecutionStatus": {
+ "type": "string",
+ "x-ms-enum": {
+ "name": "StatementExecutionStatus",
+ "modelAsString": true
+ },
+ "enum": [
+ "ok",
+ "error",
+ "abort"
+ ]
+ },
"SparkStatementRequest": {
"type": "object",
"properties": {
@@ -1074,7 +1190,7 @@
"type": "string"
},
"kind": {
- "type": "string"
+ "$ref": "#/definitions/SessionJobKind"
}
}
},
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json
index 382dea9eab19..d54d458c76dd 100644
--- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json
@@ -65,6 +65,15 @@
},
"Create cluster with TLS 1.2": {
"$ref": "./examples/CreateHDInsightClusterWithTLS12.json"
+ },
+ "Create cluster with custom network settings": {
+ "$ref": "./examples/CreateHDInsightClusterWithCustomNetworkSettings.json"
+ },
+ "Create cluster with encryption in transit": {
+ "$ref": "./examples/CreateHDInsightClusterWithEncryptionInTransit.json"
+ },
+ "Create cluster with encryption at host": {
+ "$ref": "./examples/CreateHDInsightClusterWithEncryptionAtHost.json"
}
},
"parameters": [
@@ -348,6 +357,78 @@
"x-ms-long-running-operation": true
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/autoscale": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_UpdateAutoScaleConfiguration",
+ "description": "Updates the Autoscale Configuration for HDInsight cluster.",
+ "x-ms-examples": {
+ "Enable or Update Autoscale with the load based configuration for HDInsight cluster": {
+ "$ref": "./examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json"
+ },
+ "Enable or Update Autoscale with the schedule based configuration for HDInsight cluster": {
+ "$ref": "./examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json"
+ },
+ "Disable Autoscale for the HDInsight cluster": {
+ "$ref": "./examples/DisableClusterAutoScale.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The constant value for the roleName",
+ "enum": [
+ "workernode"
+ ],
+ "x-ms-enum": {
+ "name": "RoleName",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AutoscaleConfigurationUpdateParameter"
+ },
+ "description": "The parameters for the update autoscale configuration operation."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./operations.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK response definition."
+ },
+ "202": {
+ "description": "Accepted response definition."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters": {
"get": {
"tags": [
@@ -728,6 +809,15 @@
},
"description": "The autoscale request parameters"
},
+ "AutoscaleConfigurationUpdateParameter": {
+ "properties": {
+ "autoscale": {
+ "$ref": "#/definitions/Autoscale",
+ "description": "The autoscale configuration."
+ }
+ },
+ "description": "The autoscale configuration update parameter."
+ },
"HardwareProfile": {
"properties": {
"vmSize": {
@@ -924,6 +1014,35 @@
},
"description": "The storage profile."
},
+ "NetworkSettings": {
+ "properties": {
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Specifies whether public network access is enabled for inbound and outbound, or outbound only.",
+ "enum": [
+ "InboundAndOutbound",
+ "OutboundOnly"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "outboundOnlyPublicNetworkAccessType": {
+ "type": "string",
+ "description": "The mechanism through which the cluster will have outbound access to the public network.",
+ "enum": [
+ "PublicLoadBalancer",
+ "UDR"
+ ],
+ "x-ms-enum": {
+ "name": "OutboundOnlyPublicNetworkAccessType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The network settings."
+ },
"ClusterCreateProperties": {
"description": "The cluster create parameters.",
"properties": {
@@ -979,9 +1098,17 @@
"$ref": "#/definitions/DiskEncryptionProperties",
"description": "The disk encryption properties."
},
+ "encryptionInTransitProperties": {
+ "$ref": "#/definitions/EncryptionInTransitProperties",
+ "description": "The encryption-in-transit properties."
+ },
"minSupportedTlsVersion": {
"type": "string",
"description": "The minimal supported tls version."
+ },
+ "networkSettings": {
+ "$ref": "#/definitions/NetworkSettings",
+ "description": "The network settings."
}
}
},
@@ -1159,9 +1286,17 @@
"$ref": "#/definitions/DiskEncryptionProperties",
"description": "The disk encryption properties."
},
+ "encryptionInTransitProperties": {
+ "$ref": "#/definitions/EncryptionInTransitProperties",
+ "description": "The encryption-in-transit properties."
+ },
"minSupportedTlsVersion": {
"type": "string",
"description": "The minimal supported tls version."
+ },
+ "networkSettings": {
+ "$ref": "#/definitions/NetworkSettings",
+ "description": "The network settings."
}
},
"required": [
@@ -1467,6 +1602,21 @@
"msiResourceId": {
"type": "string",
"description": "Resource ID of Managed Identity that is used to access the key vault."
+ },
+ "encryptionAtHost": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether or not resource disk encryption is enabled."
+ }
+ }
+ },
+ "EncryptionInTransitProperties": {
+ "description": "The encryption-in-transit properties.",
+ "properties": {
+ "isEncryptionInTransitEnabled": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether or not inter cluster node communication is encrypted in transit."
}
}
},
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json
new file mode 100644
index 000000000000..5214925f2139
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-03-01-preview",
+ "subscriptionId": "subId",
+ "parameters": {
+ "properties": {
+ "clusterVersion": "3.6",
+ "osType": "Linux",
+ "clusterDefinition": {
+ "kind": "hadoop",
+ "configurations": {
+ "gateway": {
+ "restAuthCredential.isEnabled": true,
+ "restAuthCredential.username": "admin",
+ "restAuthCredential.password": "**********"
+ }
+ }
+ },
+ "storageProfile": {
+ "storageaccounts": [
+ {
+ "name": "mystorage",
+ "isDefault": true,
+ "container": "containername",
+ "key": "storage account key"
+ }
+ ]
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********",
+ "sshProfile": {
+ "publicKeys": [
+ {
+ "certificateData": "**********"
+ }
+ ]
+ }
+ }
+ },
+ "virtualNetworkProfile": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
+ "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********",
+ "sshProfile": {
+ "publicKeys": [
+ {
+ "certificateData": "**********"
+ }
+ ]
+ }
+ }
+ },
+ "virtualNetworkProfile": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
+ "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"
+ }
+ }
+ ]
+ },
+ "networkSettings": {
+ "publicNetworkAccess": "OutboundOnly",
+ "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.HDInsight/clusters",
+ "location": "East US",
+ "etag": "fdf2a6e8-ce83-42cc-8c2d-0ceb11a370ff",
+ "tags": null,
+ "properties": {
+ "clusterVersion": "3.6.1000.67",
+ "osType": "Linux",
+ "clusterDefinition": {
+ "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2005040905.json",
+ "kind": "hadoop"
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ },
+ "virtualNetworkProfile": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
+ "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ },
+ "virtualNetworkProfile": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
+ "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"
+ }
+ }
+ ]
+ },
+ "networkSettings": {
+ "publicNetworkAccess": "OutboundOnly",
+ "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer"
+ },
+ "provisioningState": "Succeeded",
+ "clusterState": "Running",
+ "createdDate": "2020-06-09T12:25:43.48",
+ "quotaInfo": {
+ "coresUsed": 16
+ },
+ "tier": "Standard"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json
new file mode 100644
index 000000000000..ccab7cf8a894
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json
@@ -0,0 +1,176 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-03-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "clusterVersion": "3.6",
+ "osType": "Linux",
+ "tier": "Standard",
+ "clusterDefinition": {
+ "kind": "Hadoop",
+ "configurations": {
+ "gateway": {
+ "restAuthCredential.isEnabled": true,
+ "restAuthCredential.username": "admin",
+ "restAuthCredential.password": "**********"
+ }
+ }
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "Standard_DS14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "Standard_DS14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ },
+ {
+ "name": "zookeepernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "Standard_DS14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "storageaccounts": [
+ {
+ "name": "mystorage.blob.core.windows.net",
+ "isDefault": true,
+ "container": "default8525",
+ "key": "storagekey"
+ }
+ ]
+ },
+ "diskEncryptionProperties": {
+ "encryptionAtHost": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.HDInsight/clusters",
+ "location": "South Central US",
+ "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b",
+ "tags": null,
+ "properties": {
+ "clusterVersion": "3.6.1000.67",
+ "osType": "Linux",
+ "clusterDefinition": {
+ "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json",
+ "kind": "Hadoop",
+ "componentVersion": {
+ "Hadoop": "2.7"
+ }
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_ds14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "standard_ds14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ },
+ {
+ "name": "zookeepernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "standard_ds14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ }
+ ]
+ },
+ "provisioningState": "Succeeded",
+ "clusterState": "Running",
+ "createdDate": "2020-01-10T08:36:39.153",
+ "quotaInfo": {
+ "coresUsed": 20
+ },
+ "connectivityEndpoints": [
+ {
+ "name": "SSH",
+ "protocol": "TCP",
+ "location": "cluster1-ssh.azurehdinsight.net",
+ "port": 22
+ },
+ {
+ "name": "HTTPS",
+ "protocol": "TCP",
+ "location": "cluster1.azurehdinsight.net",
+ "port": 443
+ }
+ ],
+ "tier": "Standard",
+ "diskEncryptionProperties": {
+ "vaultUri": null,
+ "keyName": null,
+ "keyVersion": null,
+ "encryptionAlgorithm": null,
+ "msiResourceId": null,
+ "encryptionAtHost": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json
new file mode 100644
index 000000000000..857e5c39f419
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-03-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "clusterVersion": "3.6",
+ "osType": "Linux",
+ "tier": "Standard",
+ "clusterDefinition": {
+ "kind": "Hadoop",
+ "configurations": {
+ "gateway": {
+ "restAuthCredential.isEnabled": true,
+ "restAuthCredential.username": "admin",
+ "restAuthCredential.password": "**********"
+ }
+ }
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "Large"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "Large"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ },
+ {
+ "name": "zookeepernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "Small"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "storageaccounts": [
+ {
+ "name": "mystorage.blob.core.windows.net",
+ "isDefault": true,
+ "container": "default8525",
+ "key": "storagekey"
+ }
+ ]
+ },
+ "encryptionInTransitProperties": {
+ "isEncryptionInTransitEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.HDInsight/clusters",
+ "location": "South Central US",
+ "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b",
+ "tags": null,
+ "properties": {
+ "clusterVersion": "3.6.1000.67",
+ "osType": "Linux",
+ "clusterDefinition": {
+ "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json",
+ "kind": "Hadoop",
+ "componentVersion": {
+ "Hadoop": "2.7"
+ }
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_a4_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "standard_a4_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ },
+ {
+ "name": "zookeepernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "standard_a2_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ }
+ ]
+ },
+ "provisioningState": "Succeeded",
+ "clusterState": "Running",
+ "createdDate": "2020-01-10T08:36:39.153",
+ "quotaInfo": {
+ "coresUsed": 20
+ },
+ "connectivityEndpoints": [
+ {
+ "name": "SSH",
+ "protocol": "TCP",
+ "location": "cluster1-ssh.azurehdinsight.net",
+ "port": 22
+ },
+ {
+ "name": "HTTPS",
+ "protocol": "TCP",
+ "location": "cluster1.azurehdinsight.net",
+ "port": 443
+ }
+ ],
+ "tier": "Standard",
+ "encryptionInTransitProperties": {
+ "isEncryptionInTransitEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/DisableClusterAutoScale.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/DisableClusterAutoScale.json
new file mode 100644
index 000000000000..4117a86362a9
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/DisableClusterAutoScale.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-03-01-preview",
+ "subscriptionId": "subid",
+ "roleName": "workernode",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json
new file mode 100644
index 000000000000..7eb4fd0a57c9
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-03-01-preview",
+ "subscriptionId": "subid",
+ "roleName": "workernode",
+ "parameters": {
+ "autoscale": {
+ "capacity": {
+ "minInstanceCount": 3,
+ "maxInstanceCount": 5
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json
new file mode 100644
index 000000000000..3c46a392a289
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/preview/2015-03-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2015-03-01-preview",
+ "subscriptionId": "subid",
+ "roleName": "workernode",
+ "parameters": {
+ "autoscale": {
+ "recurrence": {
+ "timeZone": "China Standard Time",
+ "schedule": [
+ {
+ "days": [
+ "Thursday"
+ ],
+ "timeAndCapacity": {
+ "time": "16:00",
+ "minInstanceCount": 4,
+ "maxInstanceCount": 4
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json
index dbf01ce3ff32..0f31a7a726cb 100644
--- a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json
@@ -65,6 +65,15 @@
},
"Create cluster with TLS 1.2": {
"$ref": "./examples/CreateHDInsightClusterWithTLS12.json"
+ },
+ "Create cluster with custom network settings": {
+ "$ref": "./examples/CreateHDInsightClusterWithCustomNetworkSettings.json"
+ },
+ "Create cluster with encryption in transit": {
+ "$ref": "./examples/CreateHDInsightClusterWithEncryptionInTransit.json"
+ },
+ "Create cluster with encryption at host": {
+ "$ref": "./examples/CreateHDInsightClusterWithEncryptionAtHost.json"
}
},
"parameters": [
@@ -348,6 +357,78 @@
"x-ms-long-running-operation": true
}
},
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HDInsight/clusters/{clusterName}/roles/{roleName}/autoscale": {
+ "post": {
+ "tags": [
+ "Clusters"
+ ],
+ "operationId": "Clusters_UpdateAutoScaleConfiguration",
+ "description": "Updates the Autoscale Configuration for HDInsight cluster.",
+ "x-ms-examples": {
+ "Enable or Update Autoscale with the load based configuration for HDInsight cluster": {
+ "$ref": "./examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json"
+ },
+ "Enable or Update Autoscale with the schedule based configuration for HDInsight cluster": {
+ "$ref": "./examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json"
+ },
+ "Disable Autoscale for the HDInsight cluster": {
+ "$ref": "./examples/DisableClusterAutoScale.json"
+ }
+ },
+ "parameters": [
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "#/parameters/ClusterNameParameter"
+ },
+ {
+ "name": "roleName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The constant value for the roleName",
+ "enum": [
+ "workernode"
+ ],
+ "x-ms-enum": {
+ "name": "RoleName",
+ "modelAsString": true
+ }
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/AutoscaleConfigurationUpdateParameter"
+ },
+ "description": "The parameters for the update autoscale configuration operation."
+ }
+ ],
+ "responses": {
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./operations.json#/definitions/ErrorResponse"
+ }
+ },
+ "200": {
+ "description": "OK response definition."
+ },
+ "202": {
+ "description": "Accepted response definition."
+ }
+ },
+ "x-ms-long-running-operation": true
+ }
+ },
"/subscriptions/{subscriptionId}/providers/Microsoft.HDInsight/clusters": {
"get": {
"tags": [
@@ -728,6 +809,15 @@
},
"description": "The autoscale request parameters"
},
+ "AutoscaleConfigurationUpdateParameter": {
+ "properties": {
+ "autoscale": {
+ "$ref": "#/definitions/Autoscale",
+ "description": "The autoscale configuration."
+ }
+ },
+ "description": "The autoscale configuration update parameter."
+ },
"HardwareProfile": {
"properties": {
"vmSize": {
@@ -924,6 +1014,35 @@
},
"description": "The storage profile."
},
+ "NetworkSettings": {
+ "properties": {
+ "publicNetworkAccess": {
+ "type": "string",
+ "description": "Specifies whether public network access is enabled for inbound and outbound, or outbound only.",
+ "enum": [
+ "InboundAndOutbound",
+ "OutboundOnly"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccess",
+ "modelAsString": true
+ }
+ },
+ "outboundOnlyPublicNetworkAccessType": {
+ "type": "string",
+ "description": "The mechanism through which the cluster will have outbound access to the public network.",
+ "enum": [
+ "PublicLoadBalancer",
+ "UDR"
+ ],
+ "x-ms-enum": {
+ "name": "OutboundOnlyPublicNetworkAccessType",
+ "modelAsString": true
+ }
+ }
+ },
+ "description": "The network settings."
+ },
"ClusterCreateProperties": {
"description": "The cluster create parameters.",
"properties": {
@@ -979,9 +1098,17 @@
"$ref": "#/definitions/DiskEncryptionProperties",
"description": "The disk encryption properties."
},
+ "encryptionInTransitProperties": {
+ "$ref": "#/definitions/EncryptionInTransitProperties",
+ "description": "The encryption-in-transit properties."
+ },
"minSupportedTlsVersion": {
"type": "string",
"description": "The minimal supported tls version."
+ },
+ "networkSettings": {
+ "$ref": "#/definitions/NetworkSettings",
+ "description": "The network settings."
}
}
},
@@ -1159,9 +1286,17 @@
"$ref": "#/definitions/DiskEncryptionProperties",
"description": "The disk encryption properties."
},
+ "encryptionInTransitProperties": {
+ "$ref": "#/definitions/EncryptionInTransitProperties",
+ "description": "The encryption-in-transit properties."
+ },
"minSupportedTlsVersion": {
"type": "string",
"description": "The minimal supported tls version."
+ },
+ "networkSettings": {
+ "$ref": "#/definitions/NetworkSettings",
+ "description": "The network settings."
}
},
"required": [
@@ -1467,6 +1602,21 @@
"msiResourceId": {
"type": "string",
"description": "Resource ID of Managed Identity that is used to access the key vault."
+ },
+ "encryptionAtHost": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether or not resource disk encryption is enabled."
+ }
+ }
+ },
+ "EncryptionInTransitProperties": {
+ "description": "The encryption-in-transit properties.",
+ "properties": {
+ "isEncryptionInTransitEnabled": {
+ "type": "boolean",
+ "default": false,
+ "description": "Indicates whether or not inter cluster node communication is encrypted in transit."
}
}
},
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json
new file mode 100644
index 000000000000..cfd07c8507e9
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithCustomNetworkSettings.json
@@ -0,0 +1,160 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subId",
+ "parameters": {
+ "properties": {
+ "clusterVersion": "3.6",
+ "osType": "Linux",
+ "clusterDefinition": {
+ "kind": "hadoop",
+ "configurations": {
+ "gateway": {
+ "restAuthCredential.isEnabled": true,
+ "restAuthCredential.username": "admin",
+ "restAuthCredential.password": "**********"
+ }
+ }
+ },
+ "storageProfile": {
+ "storageaccounts": [
+ {
+ "name": "mystorage",
+ "isDefault": true,
+ "container": "containername",
+ "key": "storage account key"
+ }
+ ]
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********",
+ "sshProfile": {
+ "publicKeys": [
+ {
+ "certificateData": "**********"
+ }
+ ]
+ }
+ }
+ },
+ "virtualNetworkProfile": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
+ "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********",
+ "sshProfile": {
+ "publicKeys": [
+ {
+ "certificateData": "**********"
+ }
+ ]
+ }
+ }
+ },
+ "virtualNetworkProfile": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
+ "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"
+ }
+ }
+ ]
+ },
+ "networkSettings": {
+ "publicNetworkAccess": "OutboundOnly",
+ "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.HDInsight/clusters",
+ "location": "East US",
+ "etag": "fdf2a6e8-ce83-42cc-8c2d-0ceb11a370ff",
+ "tags": null,
+ "properties": {
+ "clusterVersion": "3.6.1000.67",
+ "osType": "Linux",
+ "clusterDefinition": {
+ "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2005040905.json",
+ "kind": "hadoop"
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ },
+ "virtualNetworkProfile": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
+ "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_d3"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ },
+ "virtualNetworkProfile": {
+ "id": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname",
+ "subnet": "/subscriptions/subId/resourceGroups/rg/providers/Microsoft.Network/virtualNetworks/vnetname/subnets/vnetsubnet"
+ }
+ }
+ ]
+ },
+ "networkSettings": {
+ "publicNetworkAccess": "OutboundOnly",
+ "outboundOnlyPublicNetworkAccessType": "PublicLoadBalancer"
+ },
+ "provisioningState": "Succeeded",
+ "clusterState": "Running",
+ "createdDate": "2020-06-09T12:25:43.48",
+ "quotaInfo": {
+ "coresUsed": 16
+ },
+ "tier": "Standard"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json
new file mode 100644
index 000000000000..9251c4bfc1d0
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionAtHost.json
@@ -0,0 +1,176 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "clusterVersion": "3.6",
+ "osType": "Linux",
+ "tier": "Standard",
+ "clusterDefinition": {
+ "kind": "Hadoop",
+ "configurations": {
+ "gateway": {
+ "restAuthCredential.isEnabled": true,
+ "restAuthCredential.username": "admin",
+ "restAuthCredential.password": "**********"
+ }
+ }
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "Standard_DS14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "Standard_DS14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ },
+ {
+ "name": "zookeepernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "Standard_DS14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "storageaccounts": [
+ {
+ "name": "mystorage.blob.core.windows.net",
+ "isDefault": true,
+ "container": "default8525",
+ "key": "storagekey"
+ }
+ ]
+ },
+ "diskEncryptionProperties": {
+ "encryptionAtHost": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.HDInsight/clusters",
+ "location": "South Central US",
+ "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b",
+ "tags": null,
+ "properties": {
+ "clusterVersion": "3.6.1000.67",
+ "osType": "Linux",
+ "clusterDefinition": {
+ "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json",
+ "kind": "Hadoop",
+ "componentVersion": {
+ "Hadoop": "2.7"
+ }
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_ds14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "standard_ds14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ },
+ {
+ "name": "zookeepernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "standard_ds14_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ }
+ ]
+ },
+ "provisioningState": "Succeeded",
+ "clusterState": "Running",
+ "createdDate": "2020-01-10T08:36:39.153",
+ "quotaInfo": {
+ "coresUsed": 20
+ },
+ "connectivityEndpoints": [
+ {
+ "name": "SSH",
+ "protocol": "TCP",
+ "location": "cluster1-ssh.azurehdinsight.net",
+ "port": 22
+ },
+ {
+ "name": "HTTPS",
+ "protocol": "TCP",
+ "location": "cluster1.azurehdinsight.net",
+ "port": 443
+ }
+ ],
+ "tier": "Standard",
+ "diskEncryptionProperties": {
+ "vaultUri": null,
+ "keyName": null,
+ "keyVersion": null,
+ "encryptionAlgorithm": null,
+ "msiResourceId": null,
+ "encryptionAtHost": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json
new file mode 100644
index 000000000000..e791e99a9a26
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/CreateHDInsightClusterWithEncryptionInTransit.json
@@ -0,0 +1,171 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "parameters": {
+ "properties": {
+ "clusterVersion": "3.6",
+ "osType": "Linux",
+ "tier": "Standard",
+ "clusterDefinition": {
+ "kind": "Hadoop",
+ "configurations": {
+ "gateway": {
+ "restAuthCredential.isEnabled": true,
+ "restAuthCredential.username": "admin",
+ "restAuthCredential.password": "**********"
+ }
+ }
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "Large"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "Large"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ },
+ {
+ "name": "zookeepernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "Small"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser",
+ "password": "**********"
+ }
+ }
+ }
+ ]
+ },
+ "storageProfile": {
+ "storageaccounts": [
+ {
+ "name": "mystorage.blob.core.windows.net",
+ "isDefault": true,
+ "container": "default8525",
+ "key": "storagekey"
+ }
+ ]
+ },
+ "encryptionInTransitProperties": {
+ "isEncryptionInTransitEnabled": true
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "headers": {
+ "location": "https://management.azure.com/subscriptions/subid/providers/Microsoft.HDInsight/pathToOperationResult"
+ },
+ "body": {
+ "id": "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/rg1/providers/Microsoft.HDInsight/clusters/cluster1",
+ "name": "cluster1",
+ "type": "Microsoft.HDInsight/clusters",
+ "location": "South Central US",
+ "etag": "3b76ce3d-892c-4036-9d8b-8ade18ba7a4b",
+ "tags": null,
+ "properties": {
+ "clusterVersion": "3.6.1000.67",
+ "osType": "Linux",
+ "clusterDefinition": {
+ "blueprint": "https://blueprints.azurehdinsight.net/hadoop-3.6.1000.67.2001080246.json",
+ "kind": "Hadoop",
+ "componentVersion": {
+ "Hadoop": "2.7"
+ }
+ },
+ "computeProfile": {
+ "roles": [
+ {
+ "name": "headnode",
+ "targetInstanceCount": 2,
+ "hardwareProfile": {
+ "vmSize": "standard_a4_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ },
+ {
+ "name": "workernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "standard_a4_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ },
+ {
+ "name": "zookeepernode",
+ "targetInstanceCount": 3,
+ "hardwareProfile": {
+ "vmSize": "standard_a2_v2"
+ },
+ "osProfile": {
+ "linuxOperatingSystemProfile": {
+ "username": "sshuser"
+ }
+ }
+ }
+ ]
+ },
+ "provisioningState": "Succeeded",
+ "clusterState": "Running",
+ "createdDate": "2020-01-10T08:36:39.153",
+ "quotaInfo": {
+ "coresUsed": 20
+ },
+ "connectivityEndpoints": [
+ {
+ "name": "SSH",
+ "protocol": "TCP",
+ "location": "cluster1-ssh.azurehdinsight.net",
+ "port": 22
+ },
+ {
+ "name": "HTTPS",
+ "protocol": "TCP",
+ "location": "cluster1.azurehdinsight.net",
+ "port": 443
+ }
+ ],
+ "tier": "Standard",
+ "encryptionInTransitProperties": {
+ "isEncryptionInTransitEnabled": true
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/DisableClusterAutoScale.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/DisableClusterAutoScale.json
new file mode 100644
index 000000000000..11e45c68a585
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/DisableClusterAutoScale.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "roleName": "workernode",
+ "parameters": {}
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json
new file mode 100644
index 000000000000..04ffc9a6bfe3
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithLoadBasedConfiguration.json
@@ -0,0 +1,21 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "roleName": "workernode",
+ "parameters": {
+ "autoscale": {
+ "capacity": {
+ "minInstanceCount": 3,
+ "maxInstanceCount": 5
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json
new file mode 100644
index 000000000000..79906e0f408c
--- /dev/null
+++ b/specification/hdinsight/resource-manager/Microsoft.HDInsight/stable/2018-06-01-preview/examples/EnableOrUpdateAutoScaleWithScheduleBasedConfiguration.json
@@ -0,0 +1,32 @@
+{
+ "parameters": {
+ "clusterName": "cluster1",
+ "resourceGroupName": "rg1",
+ "api-version": "2018-06-01-preview",
+ "subscriptionId": "subid",
+ "roleName": "workernode",
+ "parameters": {
+ "autoscale": {
+ "recurrence": {
+ "timeZone": "China Standard Time",
+ "schedule": [
+ {
+ "days": [
+ "Thursday"
+ ],
+ "timeAndCapacity": {
+ "time": "16:00",
+ "minInstanceCount": 4,
+ "maxInstanceCount": 4
+ }
+ }
+ ]
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {},
+ "202": {}
+ }
+}
diff --git a/specification/hdinsight/resource-manager/readme.azureresourceschema.md b/specification/hdinsight/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..99c384687156
--- /dev/null
+++ b/specification/hdinsight/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,49 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-hdinsight-2018-06-01-preview
+ - tag: schema-hdinsight-2015-03-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-hdinsight-2018-06-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-hdinsight-2018-06-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HDInsight/stable/2018-06-01-preview/cluster.json
+ - Microsoft.HDInsight/stable/2018-06-01-preview/applications.json
+ - Microsoft.HDInsight/stable/2018-06-01-preview/locations.json
+ - Microsoft.HDInsight/stable/2018-06-01-preview/configurations.json
+ - Microsoft.HDInsight/stable/2018-06-01-preview/extensions.json
+ - Microsoft.HDInsight/stable/2018-06-01-preview/scriptActions.json
+ - Microsoft.HDInsight/stable/2018-06-01-preview/operations.json
+ - Microsoft.HDInsight/stable/2018-06-01-preview/virtualMachines.json
+
+```
+
+### Tag: schema-hdinsight-2015-03-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-hdinsight-2015-03-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HDInsight/preview/2015-03-01-preview/cluster.json
+ - Microsoft.HDInsight/preview/2015-03-01-preview/applications.json
+ - Microsoft.HDInsight/preview/2015-03-01-preview/locations.json
+ - Microsoft.HDInsight/preview/2015-03-01-preview/configurations.json
+ - Microsoft.HDInsight/preview/2015-03-01-preview/extensions.json
+ - Microsoft.HDInsight/preview/2015-03-01-preview/scriptActions.json
+ - Microsoft.HDInsight/preview/2015-03-01-preview/operations.json
+
+```
diff --git a/specification/hdinsight/resource-manager/readme.md b/specification/hdinsight/resource-manager/readme.md
index 97f592973d92..e1b948548a41 100644
--- a/specification/hdinsight/resource-manager/readme.md
+++ b/specification/hdinsight/resource-manager/readme.md
@@ -132,6 +132,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-python
- repo: azure-sdk-for-js
- repo: azure-sdk-for-node
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js hdinsight/resource-manager
```
## Python
@@ -208,6 +211,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/healthcareapis/resource-manager/readme.azureresourceschema.md b/specification/healthcareapis/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..79acdb91e0c6
--- /dev/null
+++ b/specification/healthcareapis/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-healthcareapis-2019-09-16
+ - tag: schema-healthcareapis-2018-08-20-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-healthcareapis-2019-09-16 and azureresourceschema
+
+``` yaml $(tag) == 'schema-healthcareapis-2019-09-16' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HealthcareApis/stable/2019-09-16/healthcare-apis.json
+
+```
+
+### Tag: schema-healthcareapis-2018-08-20-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-healthcareapis-2018-08-20-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HealthcareApis/preview/2018-08-20-preview/healthcare-apis.json
+
+```
diff --git a/specification/healthcareapis/resource-manager/readme.md b/specification/healthcareapis/resource-manager/readme.md
index b9add5d92b09..f236f6dfd961 100644
--- a/specification/healthcareapis/resource-manager/readme.md
+++ b/specification/healthcareapis/resource-manager/readme.md
@@ -65,6 +65,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js healthcareapis/resource-manager
```
## C#
@@ -142,6 +145,10 @@ generate-interface: true
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json
new file mode 100644
index 000000000000..1503a5844cc0
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json
@@ -0,0 +1,1212 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HybridComputeManagementClient",
+ "description": "The Hybrid Compute Management Client.",
+ "version": "2020-07-30-preview"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}": {
+ "put": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_CreateOrUpdate",
+ "description": "The operation to create or update a hybrid machine resource identity in Azure.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ },
+ "description": "Parameters supplied to the Create hybrid machine operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine": {
+ "$ref": "./examples/Machines_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Update",
+ "description": "The operation to update a hybrid machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineUpdate"
+ },
+ "description": "Parameters supplied to the Update hybrid machine operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a Machine": {
+ "$ref": "./examples/Machines_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Delete",
+ "description": "The operation to remove a hybrid machine identity in Azure.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a Machine": {
+ "$ref": "./examples/Machines_Delete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Get",
+ "description": "Retrieves information about the model view or the instance view of a hybrid machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Machine": {
+ "$ref": "./examples/Machines_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": {
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_ListByResourceGroup",
+ "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Machines by resource group": {
+ "$ref": "./examples/Machines_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": {
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_ListBySubscription",
+ "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Machines by resource group": {
+ "$ref": "./examples/Machines_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": {
+ "put": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension": {
+ "$ref": "./examples/PUTExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Update",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension": {
+ "$ref": "./examples/UpdateExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be deleted."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a Machine Extension": {
+ "$ref": "./examples/DELETEExtension.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GET Machine Extension": {
+ "$ref": "./examples/GETExtension.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": {
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_List",
+ "description": "The operation to get all extensions of a non-Azure machine",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GET all Machine Extensions": {
+ "$ref": "./examples/LISTExtension.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.HybridCompute/operations": {
+ "get": {
+ "tags": [
+ "operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of hybrid compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationValueDisplay"
+ }
+ ],
+ "description": "Display properties"
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Hybrid Compute Operation Value Display."
+ },
+ "OSProfile": {
+ "readOnly": true,
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies the host OS name of the hybrid machine."
+ }
+ },
+ "description": "Specifies the operating system settings for the hybrid machine."
+ },
+ "MachineProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
+ },
+ "osProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OSProfile"
+ }
+ ],
+ "description": "Specifies the operating system settings for the hybrid machine."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The status of the hybrid machine agent.",
+ "enum": [
+ "Connected",
+ "Disconnected",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusTypes",
+ "modelAsString": true
+ }
+ },
+ "lastStatusChange": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the last status change."
+ },
+ "errorDetails": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ },
+ "description": "Details about the error state."
+ },
+ "agentVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The hybrid machine agent full version."
+ },
+ "vmId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "Specifies the hybrid machine unique ID."
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the hybrid machine display name."
+ },
+ "machineFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the hybrid machine FQDN."
+ },
+ "clientPublicKey": {
+ "type": "string",
+ "description": "Public Key that the client provides to be used during initial resource onboarding"
+ },
+ "osName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Operating System running on the hybrid machine."
+ },
+ "osVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Operating System running on the hybrid machine."
+ },
+ "vmUuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Arc Machine's unique SMBIOS ID"
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineExtensionInstanceView"
+ },
+ "description": "Machine Extensions information"
+ },
+ "osSku": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Operating System product SKU."
+ },
+ "domainName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Windows domain name."
+ },
+ "adFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the AD fully qualified display name."
+ },
+ "dnsFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the DNS fully qualified display name."
+ }
+ },
+ "description": "Describes the properties of a hybrid machine."
+ },
+ "MachineUpdateProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
+ }
+ },
+ "description": "Describes the ARM updatable properties of a hybrid machine."
+ },
+ "Machine": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineProperties"
+ }
+ ],
+ "description": "Hybrid Compute Machine properties"
+ },
+ "identity": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Identity"
+ }
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Describes a hybrid machine."
+ },
+ "MachineUpdate": {
+ "properties": {
+ "identity": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/Identity"
+ }
+ ],
+ "description": "Hybrid Compute Machine Managed Identity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineUpdateProperties"
+ }
+ ],
+ "description": "Hybrid Compute Machine properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a hybrid machine Update."
+ },
+ "MachineListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Machine"
+ },
+ "description": "The list of hybrid machines."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List hybrid machine operation response."
+ },
+ "UpdateResource": {
+ "description": "The Update Resource model definition.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "title": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error's code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Additional error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "ErrorResponse": {
+ "title": "Error response.",
+ "description": "Contains details when the response code indicates an error.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The error details.",
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "Identity": {
+ "title": "Managed Identity.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The identity type.",
+ "type": "string"
+ },
+ "principalId": {
+ "readOnly": true,
+ "description": "The identity's principal id.",
+ "type": "string"
+ },
+ "tenantId": {
+ "readOnly": true,
+ "description": "The identity's tenant id.",
+ "type": "string"
+ }
+ }
+ },
+ "MachineExtension": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionProperties"
+ }
+ ],
+ "description": "Describes Machine Extension Properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Describes a Machine Extension."
+ },
+ "MachineExtensionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionUpdateProperties"
+ }
+ ],
+ "description": "Describes Machine Extension Update Properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Machine Extension Update."
+ },
+ "MachineExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionInstanceView"
+ }
+ ],
+ "description": "The machine extension instance view."
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionUpdateProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The machine extension name."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "status": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": true
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ }
+ },
+ "description": "Describes the Machine Extension Instance View."
+ },
+ "MachineExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "The list of extensions"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions."
+ }
+ },
+ "description": "Describes the Machine Extensions List Result."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/DELETEExtension.json
new file mode 100644
index 000000000000..662076fb9114
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/DELETEExtension.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "MMA",
+ "api-version": "2020-07-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/GETExtension.json
new file mode 100644
index 000000000000..860ebd816aef
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/GETExtension.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-07-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/LISTExtension.json
new file mode 100644
index 000000000000..26f7a5c44e57
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/LISTExtension.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-07-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "location": "eastus2euap",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ },
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "formattedMessage: Finished executing command, StdOut: , StdErr: ",
+ "time": "2020-08-13T17:18:57.405Z"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/winosupdateextension",
+ "name": "winosupdateextension",
+ "location": "eastus2euap",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "properties": {
+ "publisher": "microsoft.softwareupdatemanagement.test",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "autoUpgradeMinorVersion": false,
+ "settings": {},
+ "provisioningState": "Creating",
+ "instanceView": {
+ "name": "winosupdateextension",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "status": {}
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_CreateOrUpdate.json
new file mode 100644
index 000000000000..689cbb023e87
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_CreateOrUpdate.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-07-30-preview",
+ "parameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond",
+ "city": "redmond",
+ "district": null,
+ "countryOrRegion": "usa"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Delete.json
new file mode 100644
index 000000000000..8f0a211d6c34
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-07-30-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Get.json
new file mode 100644
index 000000000000..b7bc22092de3
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Get.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-07-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond",
+ "city": "redmond",
+ "district": null,
+ "countryOrRegion": "usa"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListByResourceGroup.json
new file mode 100644
index 000000000000..f9359557c3fb
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListByResourceGroup.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-07-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2",
+ "name": "myMachine2",
+ "location": "westus2",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListBySubscription.json
new file mode 100644
index 000000000000..a51eff845c69
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_ListBySubscription.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-07-30-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2",
+ "name": "myMachine2",
+ "location": "westus2",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Update.json
new file mode 100644
index 000000000000..4944e20150b5
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/Machines_Update.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-07-30-preview",
+ "location": "eastus2euap",
+ "parameters": {
+ "properties": {
+ "locationData": {
+ "name": "Redmond"
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/PUTExtension.json
new file mode 100644
index 000000000000..afe1f55d5faa
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/PUTExtension.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-07-30-preview",
+ "extensionParameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/UpdateExtension.json
new file mode 100644
index 000000000000..713470d5b138
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-07-30-preview/examples/UpdateExtension.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-07-30-preview",
+ "extensionParameters": {
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-01-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json
new file mode 100644
index 000000000000..8ba25706434d
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json
@@ -0,0 +1,1205 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HybridComputeManagementClient",
+ "description": "The Hybrid Compute Management Client.",
+ "version": "2020-08-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.HybridCompute/machines/{name}": {
+ "put": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_CreateOrUpdate",
+ "description": "The operation to create or update a hybrid machine resource identity in Azure.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ },
+ "description": "Parameters supplied to the Create hybrid machine operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine": {
+ "$ref": "./examples/Machines_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Update",
+ "description": "The operation to update a hybrid machine.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineUpdate"
+ },
+ "description": "Parameters supplied to the Update hybrid machine operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a Machine": {
+ "$ref": "./examples/Machines_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Delete",
+ "description": "The operation to remove a hybrid machine identity in Azure.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a Machine": {
+ "$ref": "./examples/Machines_Delete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Get",
+ "description": "Retrieves information about the model view or the instance view of a hybrid machine.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Machine": {
+ "$ref": "./examples/Machines_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": {
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_ListByResourceGroup",
+ "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Machines by resource group": {
+ "$ref": "./examples/Machines_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": {
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_ListBySubscription",
+ "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.",
+ "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",
+ "schema": {
+ "$ref": "#/definitions/MachineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Machines by resource group": {
+ "$ref": "./examples/Machines_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": {
+ "put": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension": {
+ "$ref": "./examples/PUTExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Update",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension": {
+ "$ref": "./examples/UpdateExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be deleted."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a Machine Extension": {
+ "$ref": "./examples/DELETEExtension.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GET Machine Extension": {
+ "$ref": "./examples/GETExtension.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": {
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_List",
+ "description": "The operation to get all extensions of a non-Azure machine",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GET all Machine Extensions": {
+ "$ref": "./examples/LISTExtension.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.HybridCompute/operations": {
+ "get": {
+ "tags": [
+ "operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of hybrid compute operations.",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationValueDisplay"
+ }
+ ],
+ "description": "Display properties"
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Hybrid Compute Operation Value Display."
+ },
+ "OSProfile": {
+ "readOnly": true,
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies the host OS name of the hybrid machine."
+ }
+ },
+ "description": "Specifies the operating system settings for the hybrid machine."
+ },
+ "MachineProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
+ },
+ "osProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OSProfile"
+ }
+ ],
+ "description": "Specifies the operating system settings for the hybrid machine."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The status of the hybrid machine agent.",
+ "enum": [
+ "Connected",
+ "Disconnected",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusTypes",
+ "modelAsString": true
+ }
+ },
+ "lastStatusChange": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the last status change."
+ },
+ "errorDetails": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ },
+ "description": "Details about the error state."
+ },
+ "agentVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The hybrid machine agent full version."
+ },
+ "vmId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "Specifies the hybrid machine unique ID."
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the hybrid machine display name."
+ },
+ "machineFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the hybrid machine FQDN."
+ },
+ "clientPublicKey": {
+ "type": "string",
+ "description": "Public Key that the client provides to be used during initial resource onboarding"
+ },
+ "osName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Operating System running on the hybrid machine."
+ },
+ "osVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Operating System running on the hybrid machine."
+ },
+ "vmUuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Arc Machine's unique SMBIOS ID"
+ },
+ "extensions": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineExtensionInstanceView"
+ },
+ "description": "Machine Extensions information"
+ },
+ "osSku": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Operating System product SKU."
+ },
+ "domainName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Windows domain name."
+ },
+ "adFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the AD fully qualified display name."
+ },
+ "dnsFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the DNS fully qualified display name."
+ },
+ "privateLinkScopedResources": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "List of private link scoped resources associated with this machine."
+ }
+ },
+ "description": "Describes the properties of a hybrid machine."
+ },
+ "MachineUpdateProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
+ }
+ },
+ "description": "Describes the ARM updatable properties of a hybrid machine."
+ },
+ "Machine": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineProperties"
+ }
+ ],
+ "description": "Hybrid Compute Machine properties"
+ },
+ "identity": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Identity"
+ }
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Describes a hybrid machine."
+ },
+ "MachineUpdate": {
+ "properties": {
+ "identity": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/Identity"
+ }
+ ],
+ "description": "Hybrid Compute Machine Managed Identity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineUpdateProperties"
+ }
+ ],
+ "description": "Hybrid Compute Machine properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a hybrid machine Update."
+ },
+ "MachineListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Machine"
+ },
+ "description": "The list of hybrid machines."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List hybrid machine operation response."
+ },
+ "UpdateResource": {
+ "description": "The Update Resource model definition.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "title": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error's code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Additional error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "ErrorResponse": {
+ "title": "Error response.",
+ "description": "Contains details when the response code indicates an error.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The error details.",
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "Identity": {
+ "title": "Managed Identity.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The identity type.",
+ "type": "string"
+ },
+ "principalId": {
+ "readOnly": true,
+ "description": "The identity's principal id.",
+ "type": "string"
+ },
+ "tenantId": {
+ "readOnly": true,
+ "description": "The identity's tenant id.",
+ "type": "string"
+ }
+ }
+ },
+ "MachineExtension": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionProperties"
+ }
+ ],
+ "description": "Describes Machine Extension Properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Describes a Machine Extension."
+ },
+ "MachineExtensionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionUpdateProperties"
+ }
+ ],
+ "description": "Describes Machine Extension Update Properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Machine Extension Update."
+ },
+ "MachineExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionInstanceView"
+ }
+ ],
+ "description": "The machine extension instance view."
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionUpdateProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "description": "The machine extension name."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "status": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": true
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ }
+ },
+ "description": "Describes the Machine Extension Instance View."
+ },
+ "MachineExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "The list of extensions"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions."
+ }
+ },
+ "description": "Describes the Machine Extensions List Result."
+ }
+ },
+ "parameters": {}
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/DELETEExtension.json
new file mode 100644
index 000000000000..11665bd285e8
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/DELETEExtension.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "MMA",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/GETExtension.json
new file mode 100644
index 000000000000..81ef4f179bc9
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/GETExtension.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/LISTExtension.json
new file mode 100644
index 000000000000..21e731a8cee1
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/LISTExtension.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "location": "eastus2euap",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ },
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "formattedMessage: Finished executing command, StdOut: , StdErr: ",
+ "time": "2020-08-13T17:18:57.405Z"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/winosupdateextension",
+ "name": "winosupdateextension",
+ "location": "eastus2euap",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "properties": {
+ "publisher": "microsoft.softwareupdatemanagement.test",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "autoUpgradeMinorVersion": false,
+ "settings": {},
+ "provisioningState": "Creating",
+ "instanceView": {
+ "name": "winosupdateextension",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "status": {}
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_CreateOrUpdate.json
new file mode 100644
index 000000000000..b4ed6ca14786
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_CreateOrUpdate.json
@@ -0,0 +1,67 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-15-preview",
+ "parameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "privateLinkScopedResources": [
+ "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name"
+ ],
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond",
+ "city": "redmond",
+ "district": null,
+ "countryOrRegion": "usa"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Delete.json
new file mode 100644
index 000000000000..871d9aeee1cb
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Get.json
new file mode 100644
index 000000000000..008718dd4d85
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Get.json
@@ -0,0 +1,54 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "privateLinkScopedResources": [
+ "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name"
+ ],
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond",
+ "city": "redmond",
+ "district": null,
+ "countryOrRegion": "usa"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListByResourceGroup.json
new file mode 100644
index 000000000000..1f451d855140
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListByResourceGroup.json
@@ -0,0 +1,89 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "privateLinkScopedResources": [
+ "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name"
+ ],
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2",
+ "name": "myMachine2",
+ "location": "westus2",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "privateLinkScopedResources": [
+ "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name2"
+ ],
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListBySubscription.json
new file mode 100644
index 000000000000..578067cfe6db
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_ListBySubscription.json
@@ -0,0 +1,88 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "privateLinkScopedResources": [
+ "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name"
+ ],
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2",
+ "name": "myMachine2",
+ "location": "westus2",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "privateLinkScopedResources": [
+ "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name2"
+ ],
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Update.json
new file mode 100644
index 000000000000..69ba54c6543a
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/Machines_Update.json
@@ -0,0 +1,62 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-15-preview",
+ "location": "eastus2euap",
+ "parameters": {
+ "properties": {
+ "locationData": {
+ "name": "Redmond"
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "privateLinkScopedResources": [
+ "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name"
+ ],
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PUTExtension.json
new file mode 100644
index 000000000000..ef06564af353
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PUTExtension.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-08-15-preview",
+ "extensionParameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionDelete.json
new file mode 100644
index 000000000000..35015feb8d2d
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "privateEndpointConnectionName": "private-endpoint-connection-name",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionGet.json
new file mode 100644
index 000000000000..ce4874f2ad7d
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionGet.json
@@ -0,0 +1,29 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "privateEndpointConnectionName": "private-endpoint-connection-name",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name",
+ "name": "private-endpoint-connection-name",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionList.json
new file mode 100644
index 000000000000..56a8b7d4e74f
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionList.json
@@ -0,0 +1,48 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2",
+ "name": "private-endpoint-connection-name",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Auto-approved",
+ "actionsRequired": "None"
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name-2",
+ "name": "private-endpoint-connection-name-2",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name-2"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Pending",
+ "description": "Please approve my connection.",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionUpdate.json
new file mode 100644
index 000000000000..e5537ca5b39a
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateEndpointConnectionUpdate.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "privateEndpointConnectionName": "private-endpoint-connection-name",
+ "api-version": "2020-08-15-preview",
+ "parameters": {
+ "properties": {
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com"
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateEndpointConnections/private-endpoint-connection-name",
+ "name": "private-endpoint-connection-name",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateEndpointConnections",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "privateEndpoint": {
+ "id": "/subscriptions/55555555-6666-7777-8888-999999999999/resourceGroups/Default-Network/providers/Microsoft.Network/privateEndpoints/private-endpoint-name"
+ },
+ "privateLinkServiceConnectionState": {
+ "status": "Approved",
+ "description": "Approved by johndoe@contoso.com",
+ "actionsRequired": "None"
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json
new file mode 100644
index 000000000000..99edb39f0070
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "api-version": "2020-08-15-preview",
+ "groupName": "hybridcompute"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateLinkResources/hybridcompute",
+ "name": "hybridcompute",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateLinkResources",
+ "properties": {
+ "groupId": "hybridcompute",
+ "requiredMembers": [
+ "HybridCompute.Server",
+ "HybridCompute.K8sConfiguration",
+ "GuestConfig.DP"
+ ],
+ "requiredZoneNames": [
+ "privatelink.his.arc.azure.com",
+ "privatelink.kubernetesconfiguration.azure.com",
+ "privatelink.Guestconfiguration.azure.com"
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json
new file mode 100644
index 000000000000..203972d0f2ca
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopePrivateLinkResourceListGet.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/privateLinkResources/hybridcompute",
+ "name": "hybridcompute",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/privateLinkResources",
+ "properties": {
+ "groupId": "hybridcompute",
+ "requiredMembers": [
+ "HybridCompute.ServerDP",
+ "HybridCompute.K8sConfigurationDP",
+ "HybridCompute.GuestConfigDP"
+ ],
+ "requiredZoneNames": [
+ "privatelink.his.arc.azure.com",
+ "privatelink.kubernetesconfiguration.azure.com",
+ "privatelink.Guestconfiguration.azure.com"
+ ]
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceDelete.json
new file mode 100644
index 000000000000..2b177d893207
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceDelete.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "name": "scoped-resource-name",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceGet.json
new file mode 100644
index 000000000000..aa2d586359e1
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceGet.json
@@ -0,0 +1,22 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "name": "scoped-resource-name",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name",
+ "name": "scoped-resource-name",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources",
+ "properties": {
+ "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Kubernetes/ConnectedCluster/ConnectedClusterName1",
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceList.json
new file mode 100644
index 000000000000..4363b54a9074
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceList.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "api-version": "2020-08-15-preview"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name1",
+ "name": "scoped-resource-name1",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources",
+ "properties": {
+ "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1",
+ "provisioningState": "Succeeded"
+ }
+ },
+ {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name2",
+ "name": "scoped-resource-name2",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources",
+ "properties": {
+ "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.Kubernetes/ConnectedCluster/ConnectedClusterName2",
+ "provisioningState": "Succeeded"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceUpdate.json
new file mode 100644
index 000000000000..7e0e32acbb76
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopedResourceUpdate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "subscriptionId": "00000000-1111-2222-3333-444444444444",
+ "resourceGroupName": "myResourceGroup",
+ "scopeName": "myPrivateLinkScope",
+ "name": "scoped-resource-name",
+ "api-version": "2020-08-15-preview",
+ "parameters": {
+ "properties": {
+ "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name",
+ "name": "scoped-resource-name",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources",
+ "properties": {
+ "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/privateLinkScopes/myPrivateLinkScope/scopedResources/scoped-resource-name",
+ "name": "scoped-resource-name",
+ "type": "Microsoft.HybridCompute/privateLinkScopes/scopedResources",
+ "properties": {
+ "linkedResourceId": "/subscriptions/00000000-1111-2222-3333-444444444444/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/machineName1",
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesCreate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesCreate.json
new file mode 100644
index 000000000000..2975811bfdcc
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesCreate.json
@@ -0,0 +1,39 @@
+{
+ "parameters": {
+ "api-version": "2020-08-15-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope",
+ "parameters": {
+ "location": "westus"
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesDelete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesDelete.json
new file mode 100644
index 000000000000..56a13d7cbf2f
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-08-15-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope"
+ },
+ "responses": {
+ "200": {},
+ "204": {},
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesGet.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesGet.json
new file mode 100644
index 000000000000..c54013c0de07
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesGet.json
@@ -0,0 +1,23 @@
+{
+ "parameters": {
+ "api-version": "2020-08-15-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesList.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesList.json
new file mode 100644
index 000000000000..63e1a8e83692
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesList.json
@@ -0,0 +1,37 @@
+{
+ "parameters": {
+ "api-version": "2019-10-17-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-other-privatelinkscope",
+ "name": "my-other-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesListByResourceGroup.json
new file mode 100644
index 000000000000..ca999f43b5cf
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesListByResourceGroup.json
@@ -0,0 +1,38 @@
+{
+ "parameters": {
+ "api-version": "2020-08-15-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ },
+ {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-other-privatelinkscope",
+ "name": "my-other-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {},
+ "properties": {
+ "provisioningState": "Succeeded",
+ "publicNetworkAccess": "Disabled"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdate.json
new file mode 100644
index 000000000000..396ef792e969
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdate.json
@@ -0,0 +1,44 @@
+{
+ "parameters": {
+ "api-version": "2020-08-15-preview",
+ "subscriptionId": "86dc51d3-92ed-4d7e-947a-775ea79b4919",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope",
+ "parameters": {
+ "location": "westus",
+ "tags": {
+ "Tag1": "Value1"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridCompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ },
+ "201": {
+ "body": {
+ "id": "/subscriptions/86dc51d3-92ed-4d7e-947a-775ea79b4919/resourceGroups/my-resource-group/providers/microsoft.hybridCompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {
+ "Tag1": "Value1"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdateTagsOnly.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdateTagsOnly.json
new file mode 100644
index 000000000000..7b18b40dfedb
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/PrivateLinkScopesUpdateTagsOnly.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-08-15-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "my-resource-group",
+ "scopeName": "my-privatelinkscope",
+ "PrivateLinkScopeTags": {
+ "tags": {
+ "Tag1": "Value1",
+ "Tag2": "Value2"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/subid/resourceGroups/my-resource-group/providers/microsoft.hybridcompute/privateLinkScopes/my-privatelinkscope",
+ "name": "my-privatelinkscope",
+ "type": "Microsoft.HybridCompute/privateLinkScopes",
+ "location": "westus",
+ "tags": {
+ "Tag1": "Value1",
+ "Tag2": "Value2"
+ },
+ "properties": {
+ "provisioningState": "Succeeded"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/UpdateExtension.json
new file mode 100644
index 000000000000..f3dabfd2747b
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/examples/UpdateExtension.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-08-15-preview",
+ "extensionParameters": {
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-01-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json
new file mode 100644
index 000000000000..e128ff52eb6f
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json
@@ -0,0 +1,1239 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HybridComputeManagementClient",
+ "x-ms-code-generation-settings": {
+ "name": "HybridComputeManagementClient"
+ },
+ "description": "Azure Arc( Servers and K8s Clusters) API reference for Private Link's Scopes management.",
+ "version": "2020-08-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.HybridCompute/privateLinkScopes": {
+ "get": {
+ "description": "Gets a list of all Azure Arc PrivateLinkScopes within a subscription.",
+ "operationId": "PrivateLinkScopes_List",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "A list containing 0 or more Azure Arc PrivateLinkScope definitions.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScopeListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopesList.json": {
+ "$ref": "./examples/PrivateLinkScopesList.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes": {
+ "get": {
+ "description": "Gets a list of Azure Arc PrivateLinkScopes within a resource group.",
+ "operationId": "PrivateLinkScopes_ListByResourceGroup",
+ "parameters": [
+ {
+ "$ref": "#/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": "A list containing 0 or more Azure Arc PrivateLinkScope definitions.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScopeListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeListByResourceGroup": {
+ "$ref": "./examples/PrivateLinkScopesListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}": {
+ "delete": {
+ "description": "Deletes a Azure Arc PrivateLinkScope.",
+ "operationId": "PrivateLinkScopes_Delete",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request when deleting an Azure Arc PrivateLinkScope."
+ },
+ "202": {
+ "description": "Accepted."
+ },
+ "204": {
+ "description": "The specified PrivateLinkScope does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "PrivateLinkScopesDelete": {
+ "$ref": "./examples/PrivateLinkScopesDelete.json"
+ }
+ }
+ },
+ "get": {
+ "description": "Returns a Azure Arc PrivateLinkScope.",
+ "operationId": "PrivateLinkScopes_Get",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Azure Arc PrivateLinkScope definition.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeGet": {
+ "$ref": "./examples/PrivateLinkScopesGet.json"
+ }
+ }
+ },
+ "put": {
+ "description": "Creates (or updates) a Azure Arc PrivateLinkScope. Note: You cannot specify a different value for InstrumentationKey nor AppId in the Put operation.",
+ "operationId": "PrivateLinkScopes_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "parameters",
+ "description": "Properties that need to be specified to create or update a Azure Arc for Servers and Clusters PrivateLinkScope.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope is returned.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "201": {
+ "description": "Successful request when creating or updating a Azure Arc PrivateLinkScope. The updated PrivateLinkScope was created and is returned.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeCreate": {
+ "$ref": "./examples/PrivateLinkScopesCreate.json"
+ },
+ "PrivateLinkScopeUpdate": {
+ "$ref": "./examples/PrivateLinkScopesUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "description": "Updates an existing PrivateLinkScope's tags. To update other fields use the CreateOrUpdate method.",
+ "operationId": "PrivateLinkScopes_UpdateTags",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "PrivateLinkScopeTags",
+ "description": "Updated tag information to set into the PrivateLinkScope instance.",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/TagsResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Updating the Azure Arc PrivateLinkScope's tags was successful. PrivateLinkScope tags are updated and returned with the rest of the PrivateLinkScope's object properties.",
+ "schema": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "PrivateLinkScopeUpdateTagsOnly": {
+ "$ref": "./examples/PrivateLinkScopesUpdateTagsOnly.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.",
+ "operationId": "PrivateLinkResources_ListByPrivateLinkScope",
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private link resources.",
+ "schema": {
+ "$ref": "#/definitions/PrivateLinkResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/PrivateLinkScopePrivateLinkResourceListGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateLinkResources/{groupName}": {
+ "get": {
+ "tags": [
+ "PrivateLinkResources"
+ ],
+ "description": "Gets the private link resources that need to be created for a Azure Monitor PrivateLinkScope.",
+ "operationId": "PrivateLinkResources_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "$ref": "#/parameters/GroupNameParameter"
+ }
+ ],
+ "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/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/PrivateLinkScopePrivateLinkResourceGet.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/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": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "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/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private endpoint connection.": {
+ "$ref": "./examples/PrivateEndpointConnectionGet.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": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "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"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Approve or reject a private endpoint connection with a given name.": {
+ "$ref": "./examples/PrivateEndpointConnectionUpdate.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": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "privateEndpointConnectionName",
+ "in": "path",
+ "description": "The name of the private endpoint connection.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted private endpoint connection."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "Private endpoint connection does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes a private endpoint connection with a given name.": {
+ "$ref": "./examples/PrivateEndpointConnectionDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/privateEndpointConnections": {
+ "get": {
+ "tags": [
+ "PrivateEndpointConnections"
+ ],
+ "description": "Gets all private endpoint connections on a private link scope.",
+ "operationId": "PrivateEndpointConnections_ListByPrivateLinkScope",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved private endpoint connections.",
+ "schema": {
+ "$ref": "#/definitions/PrivateEndpointConnectionListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets list of private endpoint connections on a private link scope.": {
+ "$ref": "./examples/PrivateEndpointConnectionList.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/scopedResources/{name}": {
+ "get": {
+ "tags": [
+ "PrivateLinkScopedResources"
+ ],
+ "description": "Gets a scoped resource in a private link scope.",
+ "operationId": "PrivateLinkScopedResources_Get",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the scoped resource object.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved a scoped resource in a private link scope.",
+ "schema": {
+ "$ref": "#/definitions/ScopedResource"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Gets private link scoped resource.": {
+ "$ref": "./examples/PrivateLinkScopedResourceGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "PrivateLinkScopedResources"
+ ],
+ "description": "Approve or reject a private endpoint connection with a given name.",
+ "operationId": "PrivateLinkScopedResources_CreateOrUpdate",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the scoped resource object.",
+ "required": true,
+ "type": "string"
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/ScopedResource"
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully create or updated a new Azure Arc scoped resource in a private link scope.",
+ "schema": {
+ "$ref": "#/definitions/ScopedResource"
+ }
+ },
+ "201": {
+ "description": "Successfully created a new Azure Arc scoped resource in a private link scope.",
+ "schema": {
+ "$ref": "#/definitions/ScopedResource"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Update a scoped resource in a private link scope.": {
+ "$ref": "./examples/PrivateLinkScopedResourceUpdate.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "PrivateLinkScopedResources"
+ ],
+ "description": "Deletes a private endpoint connection with a given name.",
+ "operationId": "PrivateLinkScopedResources_Delete",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "description": "The name of the scoped resource object.",
+ "required": true,
+ "type": "string"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully deleted scoped resource."
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "Scoped resource does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Deletes a scoped resource with a given name.": {
+ "$ref": "./examples/PrivateLinkScopedResourceDelete.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/privateLinkScopes/{scopeName}/scopedResources": {
+ "get": {
+ "tags": [
+ "PrivateLinkScopedResources"
+ ],
+ "description": "Gets all private endpoint connections on a private link scope.",
+ "operationId": "PrivateLinkScopedResources_ListByPrivateLinkScope",
+ "parameters": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "$ref": "#/parameters/ResourceGroupNameParameter"
+ },
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/PrivateLinkScopeName"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Successfully retrieved scoped resources in a private link scope.",
+ "schema": {
+ "$ref": "#/definitions/ScopedResourceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "Gets list of scoped resources in a private link scope.": {
+ "$ref": "./examples/PrivateLinkScopedResourceList.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "PrivateLinkScopesResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource Id"
+ },
+ "name": {
+ "type": "string",
+ "description": "Azure resource name",
+ "readOnly": true
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Azure resource type"
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location",
+ "x-ms-mutability": [
+ "create",
+ "read"
+ ]
+ },
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "required": [
+ "location"
+ ],
+ "x-ms-azure-resource": true,
+ "description": "An azure resource object"
+ },
+ "TagsResource": {
+ "properties": {
+ "tags": {
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ },
+ "description": "A container holding only the Tags for a resource, allowing the user to update the tags on a PrivateLinkScope instance."
+ },
+ "HybridComputePrivateLinkScope": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "description": "Properties that define a Azure Arc PrivateLinkScope resource.",
+ "$ref": "#/definitions/HybridComputePrivateLinkScopeProperties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/PrivateLinkScopesResource"
+ }
+ ],
+ "description": "An Azure Arc PrivateLinkScope definition."
+ },
+ "HybridComputePrivateLinkScopeProperties": {
+ "description": "Properties that define a Azure Arc PrivateLinkScope resource.",
+ "properties": {
+ "publicNetworkAccess": {
+ "description": "Indicates whether machines associated with the private link scope can also use public Azure Arc service endpoints.",
+ "$ref": "#/definitions/PublicNetworkAccessType"
+ },
+ "provisioningState": {
+ "type": "string",
+ "description": "Current state of this PrivateLinkScope: 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 Provisioning ,Succeeded, Canceled and Failed.",
+ "readOnly": true
+ },
+ "privateEndpointConnections": {
+ "readOnly": true,
+ "description": "List of private endpoint connections.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ }
+ }
+ }
+ },
+ "HybridComputePrivateLinkScopeListResult": {
+ "description": "Describes the list of Azure Arc PrivateLinkScope resources.",
+ "required": [
+ "value"
+ ],
+ "properties": {
+ "value": {
+ "type": "array",
+ "description": "List of Azure Arc PrivateLinkScope definitions.",
+ "items": {
+ "$ref": "#/definitions/HybridComputePrivateLinkScope"
+ }
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to get the next set of Azure Arc PrivateLinkScope definitions if too many PrivateLinkScopes where returned in the result set."
+ }
+ }
+ },
+ "PrivateLinkResourceListResult": {
+ "description": "A list of private link resources",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateLinkResource"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateLinkResource": {
+ "description": "A private link resource",
+ "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/ProxyResource"
+ }
+ ]
+ },
+ "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": "Required DNS zone names of the the private link resource.",
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "readOnly": true
+ }
+ }
+ },
+ "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."
+ },
+ "provisioningState": {
+ "description": "State of the private endpoint connection.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateEndpointProperty": {
+ "description": "Private endpoint which the connection belongs to.",
+ "type": "object",
+ "properties": {
+ "id": {
+ "description": "Resource id of the private endpoint.",
+ "type": "string"
+ }
+ }
+ },
+ "PrivateLinkServiceConnectionStateProperty": {
+ "description": "State of the private endpoint connection.",
+ "type": "object",
+ "required": [
+ "status",
+ "description"
+ ],
+ "properties": {
+ "status": {
+ "description": "The private link service connection status.",
+ "type": "string"
+ },
+ "description": {
+ "description": "The private link service connection description.",
+ "type": "string"
+ },
+ "actionsRequired": {
+ "description": "The actions required for private link service connection.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "PrivateEndpointConnection": {
+ "description": "A private endpoint connection",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/PrivateEndpointConnectionProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "PrivateEndpointConnectionListResult": {
+ "description": "A list of private endpoint connections.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/PrivateEndpointConnection"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ScopedResourceListResult": {
+ "description": "A list of scoped resources in a private link scope.",
+ "type": "object",
+ "properties": {
+ "value": {
+ "description": "Array of results.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ScopedResource"
+ },
+ "readOnly": true
+ },
+ "nextLink": {
+ "description": "Link to retrieve next page of results.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ScopedResource": {
+ "description": "A private link scoped resource",
+ "type": "object",
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/ProxyResource"
+ }
+ ],
+ "properties": {
+ "properties": {
+ "$ref": "#/definitions/ScopedResourceProperties",
+ "description": "Resource properties.",
+ "x-ms-client-flatten": true
+ }
+ }
+ },
+ "ScopedResourceProperties": {
+ "description": "Properties of a private link scoped resource.",
+ "type": "object",
+ "properties": {
+ "linkedResourceId": {
+ "description": "The resource id of the scoped Azure monitor resource.",
+ "type": "string"
+ },
+ "provisioningState": {
+ "description": "State of the private endpoint connection.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "ErrorResponseCommon": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/ErrorResponseV2"
+ }
+ ],
+ "properties": {
+ "details": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorResponseCommon"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ },
+ "description": "The resource management error response."
+ },
+ "ErrorAdditionalInfo": {
+ "properties": {
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The additional info type."
+ },
+ "info": {
+ "readOnly": true,
+ "type": "object",
+ "description": "The additional info."
+ }
+ },
+ "description": "The resource management error additional info."
+ },
+ "ErrorResponseV2": {
+ "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/ErrorResponseV2"
+ },
+ "description": "The error details."
+ },
+ "additionalInfo": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorAdditionalInfo"
+ },
+ "description": "The error additional info."
+ }
+ }
+ }
+ },
+ "description": "The resource management error response."
+ },
+ "PublicNetworkAccessType": {
+ "type": "string",
+ "description": "The network access policy to determine if Azure Arc agents can use public Azure Arc service endpoints. Defaults to disabled (access to Azure Arc services only via private link).",
+ "default": "Disabled",
+ "enum": [
+ "Enabled",
+ "Disabled"
+ ],
+ "x-ms-enum": {
+ "name": "PublicNetworkAccessType",
+ "modelAsString": true,
+ "values": [
+ {
+ "value": "Enabled",
+ "description": "Allows Azure Arc agents to communicate with Azure Arc services over both public (internet) and private endpoints."
+ },
+ {
+ "value": "Disabled",
+ "description": "Does not allow Azure Arc agents to communicate with Azure Arc services over public (internet) endpoints. The agents must use the private link."
+ }
+ ]
+ }
+ }
+ },
+ "parameters": {
+ "PrivateLinkScopeName": {
+ "name": "scopeName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the Azure Arc PrivateLinkScope resource.",
+ "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"
+ },
+ "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/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json
new file mode 100644
index 000000000000..f316157c55eb
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json
@@ -0,0 +1,1221 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HybridComputeManagementClient",
+ "description": "The Hybrid Compute Management Client.",
+ "version": "2020-08-02"
+ },
+ "host": "management.azure.com",
+ "schemes": [
+ "https"
+ ],
+ "consumes": [
+ "application/json"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "security": [
+ {
+ "azure_auth": [
+ "user_impersonation"
+ ]
+ }
+ ],
+ "securityDefinitions": {
+ "azure_auth": {
+ "type": "oauth2",
+ "authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
+ "flow": "implicit",
+ "description": "Azure Active Directory OAuth2 Flow",
+ "scopes": {
+ "user_impersonation": "impersonate your user account"
+ }
+ }
+ },
+ "paths": {
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}": {
+ "put": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_CreateOrUpdate",
+ "description": "The operation to create or update a hybrid machine resource identity in Azure.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ },
+ "description": "Parameters supplied to the Create hybrid machine operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine": {
+ "$ref": "./examples/Machines_CreateOrUpdate.json"
+ }
+ }
+ },
+ "patch": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Update",
+ "description": "The operation to update a hybrid machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineUpdate"
+ },
+ "description": "Parameters supplied to the Update hybrid machine operation."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Update a Machine": {
+ "$ref": "./examples/Machines_Update.json"
+ }
+ }
+ },
+ "delete": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Delete",
+ "description": "The operation to remove a hybrid machine identity in Azure.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "204": {
+ "description": "No Content"
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete a Machine": {
+ "$ref": "./examples/Machines_Delete.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_Get",
+ "description": "Retrieves information about the model view or the instance view of a hybrid machine.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid machine."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation.",
+ "enum": [
+ "instanceView"
+ ],
+ "x-ms-enum": {
+ "name": "InstanceViewTypes",
+ "modelAsString": true
+ }
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/Machine"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get Machine": {
+ "$ref": "./examples/Machines_Get.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines": {
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_ListByResourceGroup",
+ "description": "Lists all the hybrid machines in the specified resource group. Use the nextLink property in the response to get the next page of hybrid machines.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ },
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Machines by resource group": {
+ "$ref": "./examples/Machines_ListByResourceGroup.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/providers/Microsoft.HybridCompute/machines": {
+ "get": {
+ "tags": [
+ "machines"
+ ],
+ "operationId": "Machines_ListBySubscription",
+ "description": "Lists all the hybrid machines in the specified subscription. Use the nextLink property in the response to get the next page of hybrid machines.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List Machines by resource group": {
+ "$ref": "./examples/Machines_ListBySubscription.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions/{extensionName}": {
+ "put": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_CreateOrUpdate",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "202": {
+ "description": "HTTP 202 (Accepted) if the operation was successfully started and will complete asynchronously."
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension": {
+ "$ref": "./examples/PUTExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "patch": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Update",
+ "description": "The operation to create or update the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be created or updated."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "name": "extensionParameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionUpdate"
+ },
+ "description": "Parameters supplied to the Create Machine Extension operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ },
+ "202": {
+ "description": "Accepted"
+ }
+ },
+ "x-ms-examples": {
+ "Create or Update a Machine Extension": {
+ "$ref": "./examples/UpdateExtension.json"
+ }
+ },
+ "x-ms-long-running-operation": true
+ },
+ "delete": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Delete",
+ "description": "The operation to delete the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine where the extension should be deleted."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK"
+ },
+ "202": {
+ "description": "Accepted"
+ },
+ "204": {
+ "description": "No Content"
+ }
+ },
+ "x-ms-long-running-operation": true,
+ "x-ms-examples": {
+ "Delete a Machine Extension": {
+ "$ref": "./examples/DELETEExtension.json"
+ }
+ }
+ },
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_Get",
+ "description": "The operation to get the extension.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "extensionName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine extension."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtension"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "GET Machine Extension": {
+ "$ref": "./examples/GETExtension.json"
+ }
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridCompute/machines/{name}/extensions": {
+ "get": {
+ "tags": [
+ "MachineExtensions"
+ ],
+ "operationId": "MachineExtensions_List",
+ "description": "The operation to get all extensions of a non-Azure machine",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "name",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the machine containing the extension."
+ },
+ {
+ "name": "$expand",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "description": "The expand expression to apply on the operation."
+ },
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/MachineExtensionsListResult"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ },
+ "x-ms-examples": {
+ "GET all Machine Extensions": {
+ "$ref": "./examples/LISTExtension.json"
+ }
+ }
+ }
+ },
+ "/providers/Microsoft.HybridCompute/operations": {
+ "get": {
+ "tags": [
+ "operations"
+ ],
+ "operationId": "Operations_List",
+ "description": "Gets a list of hybrid compute operations.",
+ "parameters": [
+ {
+ "$ref": "#/parameters/ApiVersionParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "OK",
+ "schema": {
+ "$ref": "#/definitions/OperationListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": null
+ }
+ }
+ }
+ },
+ "definitions": {
+ "OperationListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "readOnly": true,
+ "items": {
+ "$ref": "#/definitions/OperationValue"
+ },
+ "description": "The list of compute operations"
+ }
+ },
+ "description": "The List Compute Operation operation response."
+ },
+ "OperationValue": {
+ "properties": {
+ "origin": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The origin of the compute operation."
+ },
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The name of the compute operation."
+ },
+ "display": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/OperationValueDisplay"
+ }
+ ],
+ "description": "Display properties"
+ }
+ },
+ "description": "Describes the properties of a Compute Operation value."
+ },
+ "OperationValueDisplay": {
+ "properties": {
+ "operation": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the compute operation."
+ },
+ "resource": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The display name of the resource the operation applies to."
+ },
+ "description": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The description of the operation."
+ },
+ "provider": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The resource provider for the operation."
+ }
+ },
+ "description": "Describes the properties of a Hybrid Compute Operation Value Display."
+ },
+ "OSProfile": {
+ "readOnly": true,
+ "properties": {
+ "computerName": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies the host OS name of the hybrid machine."
+ }
+ },
+ "description": "Specifies the operating system settings for the hybrid machine."
+ },
+ "MachineProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
+ },
+ "osProfile": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/OSProfile"
+ }
+ ],
+ "description": "Specifies the operating system settings for the hybrid machine."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "status": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The status of the hybrid machine agent.",
+ "enum": [
+ "Connected",
+ "Disconnected",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusTypes",
+ "modelAsString": true
+ }
+ },
+ "lastStatusChange": {
+ "readOnly": true,
+ "type": "string",
+ "format": "date-time",
+ "description": "The time of the last status change."
+ },
+ "errorDetails": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ },
+ "description": "Details about the error state."
+ },
+ "agentVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The hybrid machine agent full version."
+ },
+ "vmId": {
+ "type": "string",
+ "x-ms-mutability": [
+ "read",
+ "create"
+ ],
+ "description": "Specifies the hybrid machine unique ID."
+ },
+ "displayName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the hybrid machine display name."
+ },
+ "machineFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the hybrid machine FQDN."
+ },
+ "clientPublicKey": {
+ "type": "string",
+ "description": "Public Key that the client provides to be used during initial resource onboarding"
+ },
+ "osName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The Operating System running on the hybrid machine."
+ },
+ "osVersion": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The version of Operating System running on the hybrid machine."
+ },
+ "vmUuid": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Arc Machine's unique SMBIOS ID"
+ },
+ "extensions": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineExtensionInstanceView"
+ },
+ "description": "Machine Extensions information"
+ },
+ "osSku": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Operating System product SKU."
+ },
+ "domainName": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the Windows domain name."
+ },
+ "adFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the AD fully qualified display name."
+ },
+ "dnsFqdn": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Specifies the DNS fully qualified display name."
+ }
+ },
+ "description": "Describes the properties of a hybrid machine."
+ },
+ "MachineUpdateProperties": {
+ "properties": {
+ "locationData": {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/locationData"
+ }
+ },
+ "description": "Describes the ARM updatable properties of a hybrid machine."
+ },
+ "Machine": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineProperties"
+ }
+ ],
+ "description": "Hybrid Compute Machine properties"
+ },
+ "identity": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/Identity"
+ }
+ ]
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Describes a hybrid machine."
+ },
+ "MachineUpdate": {
+ "properties": {
+ "identity": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/Identity"
+ }
+ ],
+ "description": "Hybrid Compute Machine Managed Identity"
+ },
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineUpdateProperties"
+ }
+ ],
+ "description": "Hybrid Compute Machine properties"
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a hybrid machine Update."
+ },
+ "MachineListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Machine"
+ },
+ "description": "The list of hybrid machines."
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The URI to fetch the next page of Machines. Call ListNext() with this URI to fetch the next page of hybrid machines."
+ }
+ },
+ "required": [
+ "value"
+ ],
+ "description": "The List hybrid machine operation response."
+ },
+ "UpdateResource": {
+ "description": "The Update Resource model definition.",
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags"
+ }
+ }
+ },
+ "ErrorDetail": {
+ "title": "Error details.",
+ "type": "object",
+ "properties": {
+ "code": {
+ "description": "The error's code.",
+ "type": "string"
+ },
+ "message": {
+ "description": "A human readable error message.",
+ "type": "string"
+ },
+ "target": {
+ "description": "Indicates which property in the request is responsible for the error.",
+ "type": "string"
+ },
+ "details": {
+ "description": "Additional error details.",
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ }
+ },
+ "required": [
+ "code",
+ "message"
+ ]
+ },
+ "ErrorResponse": {
+ "title": "Error response.",
+ "description": "Contains details when the response code indicates an error.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "description": "The error details.",
+ "$ref": "#/definitions/ErrorDetail"
+ }
+ },
+ "required": [
+ "error"
+ ]
+ },
+ "Identity": {
+ "title": "Managed Identity.",
+ "type": "object",
+ "properties": {
+ "type": {
+ "description": "The identity type.",
+ "type": "string"
+ },
+ "principalId": {
+ "readOnly": true,
+ "description": "The identity's principal id.",
+ "type": "string"
+ },
+ "tenantId": {
+ "readOnly": true,
+ "description": "The identity's tenant id.",
+ "type": "string"
+ }
+ }
+ },
+ "MachineExtension": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionProperties"
+ }
+ ],
+ "description": "Describes Machine Extension Properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "../../../../../common-types/resource-management/v1/types.json#/definitions/TrackedResource"
+ }
+ ],
+ "description": "Describes a Machine Extension."
+ },
+ "MachineExtensionUpdate": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionUpdateProperties"
+ }
+ ],
+ "description": "Describes Machine Extension Update Properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "#/definitions/UpdateResource"
+ }
+ ],
+ "description": "Describes a Machine Extension Update."
+ },
+ "MachineExtensionProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The provisioning state, which only appears in the response."
+ },
+ "instanceView": {
+ "allOf": [
+ {
+ "$ref": "#/definitions/MachineExtensionInstanceView"
+ }
+ ],
+ "description": "The machine extension instance view."
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionUpdateProperties": {
+ "properties": {
+ "forceUpdateTag": {
+ "type": "string",
+ "description": "How the extension handler should be forced to update even if the extension configuration has not changed."
+ },
+ "publisher": {
+ "type": "string",
+ "description": "The name of the extension handler publisher."
+ },
+ "type": {
+ "type": "string",
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "description": "Specifies the version of the script handler."
+ },
+ "autoUpgradeMinorVersion": {
+ "type": "boolean",
+ "description": "Indicates whether the extension should use a newer minor version if one is available at deployment time. Once deployed, however, the extension will not upgrade minor versions unless redeployed, even with this property set to true."
+ },
+ "settings": {
+ "type": "object",
+ "description": "Json formatted public settings for the extension."
+ },
+ "protectedSettings": {
+ "type": "object",
+ "description": "The extension can contain either protectedSettings or protectedSettingsFromKeyVault or no protected settings at all."
+ }
+ },
+ "description": "Describes the properties of a Machine Extension."
+ },
+ "MachineExtensionInstanceView": {
+ "properties": {
+ "name": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The machine extension name."
+ },
+ "type": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies the type of the extension; an example is \"CustomScriptExtension\"."
+ },
+ "typeHandlerVersion": {
+ "type": "string",
+ "readOnly": true,
+ "description": "Specifies the version of the script handler."
+ },
+ "status": {
+ "properties": {
+ "code": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The status code."
+ },
+ "level": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The level code.",
+ "enum": [
+ "Info",
+ "Warning",
+ "Error"
+ ],
+ "x-ms-enum": {
+ "name": "StatusLevelTypes",
+ "modelAsString": true
+ }
+ },
+ "displayStatus": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The short localizable label for the status."
+ },
+ "message": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The detailed status message, including for alerts and error messages."
+ },
+ "time": {
+ "type": "string",
+ "readOnly": true,
+ "format": "date-time",
+ "description": "The time of the status."
+ }
+ },
+ "description": "Instance view status."
+ }
+ },
+ "description": "Describes the Machine Extension Instance View."
+ },
+ "MachineExtensionsListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/MachineExtension"
+ },
+ "description": "The list of extensions"
+ },
+ "nextLink": {
+ "type": "string",
+ "description": "The uri to fetch the next page of machine extensions. Call ListNext() with this to fetch the next page of extensions."
+ }
+ },
+ "description": "Describes the Machine Extensions List Result."
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "Subscription credentials which uniquely identify Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client Api Version."
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/DELETEExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/DELETEExtension.json
new file mode 100644
index 000000000000..9fd984c65ae1
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/DELETEExtension.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "MMA",
+ "api-version": "2020-08-02"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/GETExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/GETExtension.json
new file mode 100644
index 000000000000..3b19eabcec0d
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/GETExtension.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-08-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2019-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/LISTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/LISTExtension.json
new file mode 100644
index 000000000000..7c582e273f3f
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/LISTExtension.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "location": "eastus2euap",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ },
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "displayStatus": "Provisioning succeeded",
+ "message": "formattedMessage: Finished executing command, StdOut: , StdErr: ",
+ "time": "2020-08-13T17:18:57.405Z"
+ }
+ }
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/winosupdateextension",
+ "name": "winosupdateextension",
+ "location": "eastus2euap",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "properties": {
+ "publisher": "microsoft.softwareupdatemanagement.test",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "autoUpgradeMinorVersion": false,
+ "settings": {},
+ "provisioningState": "Creating",
+ "instanceView": {
+ "name": "winosupdateextension",
+ "type": "windowsosupdateextension",
+ "typeHandlerVersion": "1.0.0.0",
+ "status": {}
+ }
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_CreateOrUpdate.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_CreateOrUpdate.json
new file mode 100644
index 000000000000..1d1ddf766e4d
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_CreateOrUpdate.json
@@ -0,0 +1,64 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-02",
+ "parameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond",
+ "city": "redmond",
+ "district": null,
+ "countryOrRegion": "usa"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Delete.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Delete.json
new file mode 100644
index 000000000000..2376cf3566ae
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Delete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-02"
+ },
+ "responses": {
+ "200": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Get.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Get.json
new file mode 100644
index 000000000000..27caaa9aa0f1
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Get.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond",
+ "city": "redmond",
+ "district": null,
+ "countryOrRegion": "usa"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListByResourceGroup.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListByResourceGroup.json
new file mode 100644
index 000000000000..ea2e1d488be7
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListByResourceGroup.json
@@ -0,0 +1,83 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "api-version": "2020-08-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "f7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscription-id}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine2",
+ "name": "myMachine2",
+ "location": "westus2",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ ],
+ "nextLink": null
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListBySubscription.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListBySubscription.json
new file mode 100644
index 000000000000..04511ecac2b0
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_ListBySubscription.json
@@ -0,0 +1,82 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "api-version": "2020-08-02"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ },
+ {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup2/providers/Microsoft.HybridCompute/machines/myMachine2",
+ "name": "myMachine2",
+ "location": "westus2",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "e7a068cc-b0b8-46e8-a203-22f301a62a8f",
+ "tenantId": "c4098cc-91b8-46c2-a205-d82ab1a62a8f"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "a4a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Update.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Update.json
new file mode 100644
index 000000000000..a86eabdc0f42
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/Machines_Update.json
@@ -0,0 +1,59 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscription-id}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "api-version": "2020-08-02",
+ "location": "eastus2euap",
+ "parameters": {
+ "properties": {
+ "locationData": {
+ "name": "Redmond"
+ }
+ },
+ "identity": {
+ "type": "SystemAssigned"
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/machines/myMachine",
+ "name": "myMachine",
+ "location": "eastus2euap",
+ "tags": null,
+ "identity": {
+ "type": "SystemAssigned",
+ "principalId": "string",
+ "tenantId": "string"
+ },
+ "type": "Microsoft.HybridCompute/machines",
+ "properties": {
+ "provisioningState": "Succeeded",
+ "agentVersion": null,
+ "status": null,
+ "lastStatusChange": null,
+ "errorDetails": null,
+ "displayName": null,
+ "machineFqdn": null,
+ "vmUuid": null,
+ "osSku": null,
+ "domainName": null,
+ "adFqdn": null,
+ "dnsFqdn": null,
+ "osName": null,
+ "osVersion": null,
+ "osProfile": {
+ "computerName": null
+ },
+ "vmId": "b7a098cc-b0b8-46e8-a205-62f301a62a8f",
+ "locationData": {
+ "name": "Redmond"
+ },
+ "clientPublicKey": "string"
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/PUTExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/PUTExtension.json
new file mode 100644
index 000000000000..b62c649e2bae
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/PUTExtension.json
@@ -0,0 +1,51 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-08-02",
+ "extensionParameters": {
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -gt 10000 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-08-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/UpdateExtension.json b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/UpdateExtension.json
new file mode 100644
index 000000000000..8cf64191e1c7
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/Microsoft.HybridCompute/stable/2020-08-02/examples/UpdateExtension.json
@@ -0,0 +1,50 @@
+{
+ "parameters": {
+ "subscriptionId": "{subscriptionId}",
+ "resourceGroupName": "myResourceGroup",
+ "name": "myMachine",
+ "extensionName": "CustomScriptExtension",
+ "api-version": "2020-08-02",
+ "extensionParameters": {
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "typeHandlerVersion": "1.10",
+ "type": "CustomScriptExtension",
+ "settings": {
+ "commandToExecute": "powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\""
+ }
+ }
+ }
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "id": "/subscriptions/{subscriptionId}/resourceGroups/myResourceGroup/providers/Microsoft.HybridCompute/Machines/myMachine/Extensions/CustomScriptExtension",
+ "name": "CustomScriptExtension",
+ "type": "Microsoft.HybridCompute/machines/extensions",
+ "location": "eastus2euap",
+ "properties": {
+ "publisher": "Microsoft.Compute",
+ "type": "string",
+ "typeHandlerVersion": "1.10.3",
+ "autoUpgradeMinorVersion": false,
+ "settings": "@{commandToExecute=powershell.exe -c \"Get-Process | Where-Object { $_.CPU -lt 100 }\"}",
+ "protectedSettings": {},
+ "provisioningState": "Succeeded",
+ "instanceView": {
+ "name": "CustomScriptExtension",
+ "type": "CustomScriptExtension",
+ "typeHandlerVersion": "1.10.3",
+ "status": {
+ "code": "success",
+ "level": "Information",
+ "message": "Finished executing command, StdOut: , StdErr:",
+ "time": "2020-01-08T20:42:10.999Z"
+ }
+ }
+ }
+ }
+ },
+ "202": {}
+ }
+}
diff --git a/specification/hybridcompute/resource-manager/readme.azureresourceschema.md b/specification/hybridcompute/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..ecf289d5125f
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,85 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-hybridcompute-2020-08-15-preview
+ - tag: schema-hybridcompute-2020-08-02
+ - tag: schema-hybridcompute-2020-07-30-preview
+ - tag: schema-hybridcompute-2019-12-12
+ - tag: schema-hybridcompute-2019-08-02
+ - tag: schema-hybridcompute-2019-03-18
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-hybridcompute-2020-08-15-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybridcompute-2020-08-15-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json
+ - Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json
+
+```
+
+### Tag: schema-hybridcompute-2020-08-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybridcompute-2020-08-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json
+
+```
+
+### Tag: schema-hybridcompute-2020-07-30-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybridcompute-2020-07-30-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json
+
+```
+
+### Tag: schema-hybridcompute-2019-12-12 and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybridcompute-2019-12-12' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json
+
+```
+
+### Tag: schema-hybridcompute-2019-08-02 and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybridcompute-2019-08-02' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridCompute/preview/2019-08-02/HybridCompute.json
+
+```
+
+### Tag: schema-hybridcompute-2019-03-18 and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybridcompute-2019-03-18' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridCompute/preview/2019-03-18/HybridCompute.json
+
+```
diff --git a/specification/hybridcompute/resource-manager/readme.csharp.md b/specification/hybridcompute/resource-manager/readme.csharp.md
new file mode 100644
index 000000000000..463af704cda6
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/readme.csharp.md
@@ -0,0 +1,22 @@
+# C# HybridCompute
+
+> see https://aka.ms/autorest
+
+This is the AutoRest configuration file for HybridCompute.
+
+These settings apply only when `--csharp` is specified on the command line.
+Please also specify `--csharp-sdks-folder=`.
+
+``` yaml $(csharp)
+csharp:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ namespace: Microsoft.Azure.Management.HybridCompute
+ output-folder: $(csharp-sdks-folder)/HybridCompute/Microsoft.Azure.Management.HybridCompute/src/Generated
+ clear-output-folder: true
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+```
diff --git a/specification/hybridcompute/resource-manager/readme.go.md b/specification/hybridcompute/resource-manager/readme.go.md
new file mode 100644
index 000000000000..85441e52dba6
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/readme.go.md
@@ -0,0 +1,42 @@
+# Go HybridCompute
+
+These settings apply only when `--go` is specified on the command line.
+
+``` yaml $(go)
+go:
+ license-header: MICROSOFT_APACHE_NO_VERSION
+ clear-output-folder: true
+ namespace: hybridcompute
+
+ directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+```
+
+## Go multi-api
+
+``` yaml $(go) && $(multiapi)
+batch:
+ - tag: package-2019-12
+ - tag: package-2020-08-02
+```
+
+### Tag: package-2020-08-02 and go
+
+These settings apply only when `--tag=package-2020-08-02 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2020-08-02' && $(go)
+output-folder: $(go-sdk-folder)/services/hybridcompute/mgmt/2020-08-02/hybridcompute
+```
+
+### Tag: package-2019-12 and go
+
+These settings apply only when `--tag=package-2019-12 --go` is specified on the command line.
+Please also specify `--go-sdk-folder=`.
+
+``` yaml $(tag)=='package-2019-12' && $(go)
+output-folder: $(go-sdk-folder)/services/hybridcompute/mgmt/2019-12-12/hybridcompute
+```
diff --git a/specification/hybridcompute/resource-manager/readme.java.md b/specification/hybridcompute/resource-manager/readme.java.md
new file mode 100644
index 000000000000..f33fbaa677cb
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/readme.java.md
@@ -0,0 +1,55 @@
+# Java HybridCompute
+
+These settings apply only when `--java` is specified on the command line.
+Please also specify `--azure-libraries-for-java-folder=`.
+
+``` yaml $(java)
+azure-arm: true
+fluent: true
+namespace: com.microsoft.azure.management.hybridcompute
+license-header: MICROSOFT_MIT_NO_CODEGEN
+payload-flattening-threshold: 1
+output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-hybridcompute
+
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+```
+
+## Java multi-api
+
+``` yaml $(java) && $(multiapi)
+batch:
+ - tag: package-2019-12
+ - tag: package-2020-08-02
+```
+
+## Tag: package-2019-12 and java
+
+These settings apply only when `--tag=package-2019-12 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2019-12' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.hybridcompute.v2019_12_12
+ output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2019_12_12
+
+regenerate-manager: true
+generate-interface: true
+```
+
+## Tag: package-2020-08-02 and java
+
+These settings apply only when `--tag=package-2020-08-02 --java` is specified on the command line.
+Please also specify `--azure-libraries-for-java=`.
+
+``` yaml $(tag) == 'package-2020-08-02' && $(java) && $(multiapi)
+java:
+ namespace: com.microsoft.azure.management.hybridcompute.v2020_08_02
+ output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2020_08_02
+
+regenerate-manager: true
+generate-interface: true
+```
\ No newline at end of file
diff --git a/specification/hybridcompute/resource-manager/readme.md b/specification/hybridcompute/resource-manager/readme.md
index e5c4d2515794..8a979ba5fe64 100644
--- a/specification/hybridcompute/resource-manager/readme.md
+++ b/specification/hybridcompute/resource-manager/readme.md
@@ -1,13 +1,13 @@
# HybridCompute
-
+
> see https://aka.ms/autorest
This is the AutoRest configuration file for HybridCompute RP.
+---
+## Getting Started
----
-## Getting Started
To build the SDK for HybridCompute, simply [Install AutoRest](https://aka.ms/autorest/install) and in this folder, run:
> `autorest`
@@ -15,18 +15,30 @@ To build the SDK for HybridCompute, simply [Install AutoRest](https://aka.ms/aut
To see additional help and options, run:
> `autorest --help`
+
---
## Configuration
-### Basic Information
+### Basic Information
+
These are the global settings for the HybridCompute API.
``` yaml
openapi-type: arm
-tag: package-2019-12
+tag: package-2020-08-02
```
+
+### Tag: package-preview-2020-08
+
+These settings apply only when `--tag=package-preview-2020-08` is specified on the command line.
+
+```yaml $(tag) == 'package-preview-2020-08'
+input-file:
+ - Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json
+ - Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json
+```
### Tag: package-2019-03
These settings apply only when `--tag=package-2019-03` is specified on the command line.
@@ -54,7 +66,26 @@ input-file:
- Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json
```
+### Tag: package-2020-07-30-preview
+
+These settings apply only when `--tag=package-2020-07-30-preview` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-07-30-preview'
+input-file:
+- Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json
+```
+
+### Tag: package-2020-08-02
+
+These settings apply only when `--tag=package-2020-08-02` is specified on the command line.
+
+``` yaml $(tag) == 'package-2020-08-02'
+input-file:
+- Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json
+```
+
---
+
# Code Generation
## Swagger to SDK
@@ -69,164 +100,46 @@ swagger-to-sdk:
- repo: azure-sdk-for-java
- repo: azure-sdk-for-go
- repo: azure-sdk-for-js
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js hybridcompute/resource-manager
```
---
-## C#
-
-These settings apply only when `--csharp` is specified on the command line.
-Please also specify `--csharp-sdks-folder=`.
-
-``` yaml $(csharp)
-csharp:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- namespace: Microsoft.Azure.Management.HybridCompute
- output-folder: $(csharp-sdks-folder)/HybridCompute/Microsoft.Azure.Management.HybridCompute/src/Generated
- clear-output-folder: true
-directive:
- - remove-operation:
- - Machines_Reconnect
- - Machines_CreateOrUpdate
- - Machines_Update
- - MachineExtensions_CreateOrUpdate
- - MachineExtensions_Update
- - MachineExtensions_Delete
- - MachineExtensions_Get
- - MachineExtensions_List
-```
-
-## PowerShell
-``` yaml $(powershell)
-powershell:
- namespace: Microsoft.Azure.Management.HybridCompute
- output-folder: generated
- clear-output-folder: true
-directive:
- - remove-operation:
- - Machines_Reconnect
- - Machines_CreateOrUpdate
- - Machines_Update
- - MachineExtensions_CreateOrUpdate
- - MachineExtensions_Update
- - MachineExtensions_Delete
- - MachineExtensions_Get
- - MachineExtensions_List
-```
+## AzureResourceSchema
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
-## Python
+## C#
-These settings apply only when `--python` is specified on the command line.
-Please also specify `--python-sdks-folder=`.
-Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
-
-``` yaml $(python)
-python-mode: create
-python:
- azure-arm: true
- license-header: MICROSOFT_MIT_NO_VERSION
- payload-flattening-threshold: 2
- namespace: azure.mgmt.hybridcompute
- package-name: azure-mgmt-hybridcompute
- clear-output-folder: true
-```
-``` yaml $(python) && $(python-mode) == 'update'
-python:
- no-namespace-folders: true
- output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute
-directive:
- - remove-operation:
- - Machines_Reconnect
- - Machines_CreateOrUpdate
- - Machines_Update
- - MachineExtensions_CreateOrUpdate
- - MachineExtensions_Update
- - MachineExtensions_Delete
- - MachineExtensions_Get
- - MachineExtensions_List
-```
-``` yaml $(python) && $(python-mode) == 'create'
-python:
- basic-setup-py: true
- output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute
-directive:
- - remove-operation:
- - Machines_Reconnect
- - Machines_CreateOrUpdate
- - Machines_Update
- - MachineExtensions_CreateOrUpdate
- - MachineExtensions_Update
- - MachineExtensions_Delete
- - MachineExtensions_Get
- - MachineExtensions_List
-```
+See configuration in [readme.csharp.md](./readme.csharp.md)
## Go
-These settings apply only when `--go` is specified on the command line.
-
-``` yaml $(go)
-go:
- license-header: MICROSOFT_APACHE_NO_VERSION
- clear-output-folder: true
- namespace: hybridcompute
-```
-
-
-### Go multi-api
-
-``` yaml $(go) && $(multiapi)
-batch:
- - tag: package-2019-12
-```
-
-### Tag: package-2019-12 and go
-
-These settings apply only when `--tag=package-2019-12 --go` is specified on the command line.
-Please also specify `--go-sdk-folder=`.
-
-``` yaml $(tag)=='package-2019-12' && $(go)
-output-folder: $(go-sdk-folder)/services/preview/hybridcompute/mgmt/2019-12-12/hybridcompute
-```
+See configuration in [readme.go.md](./readme.go.md)
## Java
-These settings apply only when `--java` is specified on the command line.
-Please also specify `--azure-libraries-for-java-folder=`.
+See configuration in [readme.java.md](./readme.java.md)
-``` yaml $(java)
-azure-arm: true
-fluent: true
-namespace: com.microsoft.azure.management.hybridcompute
-license-header: MICROSOFT_MIT_NO_CODEGEN
-payload-flattening-threshold: 1
-output-folder: $(azure-libraries-for-java-folder)/azure-mgmt-hybridcompute
-```
+## PowerShell
-### Java multi-api
+See configuration in the [Azure PowerShell repo](https://github.com/Azure/azure-powershell/tree/generation/src/ConnectedMachine)
-``` yaml $(java) && $(multiapi)
-batch:
- - tag: package-2019-12
-```
+## Python
-### Tag: package-2019-12 and java
+See configuration in [readme.python.md](./readme.python.md)
-These settings apply only when `--tag=package-2019-12 --java` is specified on the command line.
-Please also specify `--azure-libraries-for-java=`.
+## Ruby
-``` yaml $(tag) == 'package-2019-12' && $(java) && $(multiapi)
-java:
- namespace: com.microsoft.azure.management.hybridcompute.v2019_12_12
- output-folder: $(azure-libraries-for-java-folder)/sdk/hybridcompute/mgmt-v2019_12_12
+See configuration in [readme.ruby.md](./readme.ruby.md)
-regenerate-manager: true
-generate-interface: true
-```
+## TypeScript
-## Multi-API/Profile support for AutoRest v3 generators
+See configuration in [readme.typescript](./readme.typescript.md)
+
+## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
@@ -238,17 +151,20 @@ require: $(this-folder)/../../../profiles/readme.md
# all the input files across all versions
input-file:
+ - $(this-folder)/Microsoft.HybridCompute/preview/2020-08-15-preview/HybridCompute.json
+ - $(this-folder)/Microsoft.HybridCompute/preview/2020-08-15-preview/privateLinkScopes.json
- $(this-folder)/Microsoft.HybridCompute/preview/2019-03-18/HybridCompute.json
- $(this-folder)/Microsoft.HybridCompute/preview/2019-08-02/HybridCompute.json
- $(this-folder)/Microsoft.HybridCompute/stable/2019-12-12/HybridCompute.json
+ - $(this-folder)/Microsoft.HybridCompute/preview/2020-07-30-preview/HybridCompute.json
+ - $(this-folder)/Microsoft.HybridCompute/stable/2020-08-02/HybridCompute.json
```
-If there are files that should not be in the `all-api-versions` set,
+If there are files that should not be in the `all-api-versions` set,
uncomment the `exclude-file` section below and add the file paths.
``` yaml $(tag) == 'all-api-versions'
#exclude-file:
# - $(this-folder)/Microsoft.Example/stable/2010-01-01/somefile.json
```
-
diff --git a/specification/hybridcompute/resource-manager/readme.python.md b/specification/hybridcompute/resource-manager/readme.python.md
new file mode 100644
index 000000000000..8a2abe1db917
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/readme.python.md
@@ -0,0 +1,36 @@
+# Python HybridCompute
+
+These settings apply only when `--python` is specified on the command line.
+Please also specify `--python-sdks-folder=`.
+Use `--python-mode=update` if you already have a setup.py and just want to update the code itself.
+
+``` yaml $(python)
+python-mode: create
+python:
+ azure-arm: true
+ license-header: MICROSOFT_MIT_NO_VERSION
+ payload-flattening-threshold: 2
+ namespace: azure.mgmt.hybridcompute
+ package-name: azure-mgmt-hybridcompute
+ clear-output-folder: true
+```
+``` yaml $(python) && $(python-mode) == 'update'
+python:
+ no-namespace-folders: true
+ output-folder: $(python-sdks-folder)/hybridcompute/azure-mgmt-hybridcompute/azure/mgmt/hybridcompute
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+```
+``` yaml $(python) && $(python-mode) == 'create'
+python:
+ basic-setup-py: true
+ output-folder: $(python-sdks-folder)/azure-mgmt-hybridcompute
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+```
diff --git a/specification/hybridcompute/resource-manager/readme.ruby.md b/specification/hybridcompute/resource-manager/readme.ruby.md
new file mode 100644
index 000000000000..f92be0b96725
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/readme.ruby.md
@@ -0,0 +1,14 @@
+## Ruby HybridCompute
+
+These settings apply only when `--ruby` is specified on the command line.
+
+``` yaml
+package-name: azure_mgmt_hybridcompute
+azure-arm: true
+
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+```
diff --git a/specification/hybridcompute/resource-manager/readme.typescript.md b/specification/hybridcompute/resource-manager/readme.typescript.md
new file mode 100644
index 000000000000..f069d08bc706
--- /dev/null
+++ b/specification/hybridcompute/resource-manager/readme.typescript.md
@@ -0,0 +1,24 @@
+## TypeScript HybridCompute
+
+These settings apply only when `--typescript` is specified on the command line.
+Please also specify `--typescript-sdks-folder=`.
+
+## Common TypeScript settings
+
+``` yaml $(typescript)
+typescript:
+ azure-arm: true
+ generate-metadata: true
+
+directive:
+ - remove-operation:
+ - Machines_Reconnect
+ - Machines_CreateOrUpdate
+ - Machines_Update
+```
+
+``` yaml $(typescript) && !$(profile)
+ package-name: "@azure/arm-hybridcompute"
+ output-folder: "$(typescript-sdks-folder)/sdk/hybridcompute/arm-hybridcompute"
+ clear-output-folder: true
+```
diff --git a/specification/hybriddatamanager/resource-manager/readme.azureresourceschema.md b/specification/hybriddatamanager/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..3bbb7db8e693
--- /dev/null
+++ b/specification/hybriddatamanager/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,36 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-hybriddata-2019-06-01
+ - tag: schema-hybriddata-2016-06-01
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-hybriddata-2019-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybriddata-2019-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridData/stable/2019-06-01/hybriddata.json
+
+```
+
+### Tag: schema-hybriddata-2016-06-01 and azureresourceschema
+
+``` yaml $(tag) == 'schema-hybriddata-2016-06-01' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.HybridData/stable/2016-06-01/hybriddata.json
+
+```
diff --git a/specification/hybriddatamanager/resource-manager/readme.md b/specification/hybriddatamanager/resource-manager/readme.md
index d05458e528e2..0184fef60e98 100644
--- a/specification/hybriddatamanager/resource-manager/readme.md
+++ b/specification/hybriddatamanager/resource-manager/readme.md
@@ -82,6 +82,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-ruby
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_hybriddatamanager']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js hybriddatamanager/resource-manager
```
@@ -150,6 +153,10 @@ python:
output-folder: $(python-sdks-folder)/azure-mgmt-hybriddatamanager
```
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/hybridkubernetes/resource-manager/readme.azureresourceschema.md b/specification/hybridkubernetes/resource-manager/readme.azureresourceschema.md
new file mode 100644
index 000000000000..963de1cc8c8b
--- /dev/null
+++ b/specification/hybridkubernetes/resource-manager/readme.azureresourceschema.md
@@ -0,0 +1,24 @@
+## AzureResourceSchema
+
+These settings apply only when `--azureresourceschema` is specified on the command line.
+
+### AzureResourceSchema multi-api
+
+``` yaml $(azureresourceschema) && $(multiapi)
+batch:
+ - tag: schema-kubernetes-2020-01-01-preview
+
+```
+
+Please also specify `--azureresourceschema-folder=`.
+
+### Tag: schema-kubernetes-2020-01-01-preview and azureresourceschema
+
+``` yaml $(tag) == 'schema-kubernetes-2020-01-01-preview' && $(azureresourceschema)
+output-folder: $(azureresourceschema-folder)/schemas
+
+# all the input files in this apiVersion
+input-file:
+ - Microsoft.Kubernetes/preview/2020-01-01-preview/connectedClusters.json
+
+```
diff --git a/specification/hybridkubernetes/resource-manager/readme.md b/specification/hybridkubernetes/resource-manager/readme.md
index e60faf4e7f2d..096f12a29479 100644
--- a/specification/hybridkubernetes/resource-manager/readme.md
+++ b/specification/hybridkubernetes/resource-manager/readme.md
@@ -57,6 +57,9 @@ swagger-to-sdk:
- repo: azure-sdk-for-net
after_scripts:
- bundle install && rake arm:regen_all_profiles['azure_mgmt_hybridkubernetes']
+ - repo: azure-resource-manager-schemas
+ after_scripts:
+ - node sdkauto_afterscript.js hybridkubernetes/resource-manager
```
## Go
@@ -79,6 +82,10 @@ See configuration in [readme.csharp.md](./readme.csharp.md)
See configuration in [readme.java.md](./readme.java.md)
+## AzureResourceSchema
+
+See configuration in [readme.azureresourceschema.md](./readme.azureresourceschema.md)
+
## Multi-API/Profile support for AutoRest v3 generators
AutoRest V3 generators require the use of `--tag=all-api-versions` to select api files.
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json
new file mode 100644
index 000000000000..be4e038ae09f
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/common.json
@@ -0,0 +1,278 @@
+{
+ "swagger": "2.0",
+ "info": {
+ "title": "HybridNetworkManagementClient",
+ "description": "The definitions in this swagger specification will be used to manage the hybrid network resources.",
+ "version": "2020-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": {
+ "ErrorDetails": {
+ "description": "The error response that indicates why an operation has failed.",
+ "type": "object",
+ "properties": {
+ "error": {
+ "$ref": "#/definitions/ErrorResponse"
+ }
+ }
+ },
+ "ErrorResponse": {
+ "description": "The error response details containing error code and error message",
+ "type": "object",
+ "additionalProperties": true,
+ "properties": {
+ "code": {
+ "description": "The error code.",
+ "type": "string",
+ "readOnly": true
+ },
+ "message": {
+ "description": "The error message.",
+ "type": "string",
+ "readOnly": true
+ }
+ }
+ },
+ "Resource": {
+ "properties": {
+ "id": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource ID."
+ },
+ "name": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource name."
+ },
+ "type": {
+ "readOnly": true,
+ "type": "string",
+ "description": "Resource type."
+ },
+ "location": {
+ "type": "string",
+ "description": "Resource location."
+ },
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Common resource representation.",
+ "x-ms-azure-resource": true
+ },
+ "SubResource": {
+ "properties": {
+ "id": {
+ "type": "string",
+ "description": "Resource ID."
+ }
+ },
+ "description": "Reference to another 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": {
+ "properties": {
+ "tags": {
+ "type": "object",
+ "additionalProperties": {
+ "type": "string"
+ },
+ "description": "Resource tags."
+ }
+ },
+ "description": "Tags object for patch operations."
+ },
+ "NetworkInterface": {
+ "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 VM switch",
+ "enum": [
+ "Unknown",
+ "Management",
+ "Wan",
+ "Lan",
+ "Internal"
+ ],
+ "x-ms-enum": {
+ "name": "VMSwitchType",
+ "modelAsString": true
+ }
+ }
+ }
+ },
+ "NetworkInterfaceIPConfiguration": {
+ "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"
+ ],
+ "x-ms-enum": {
+ "name": "SkuType",
+ "modelAsString": true
+ }
+ }
+ },
+ "parameters": {
+ "SubscriptionIdParameter": {
+ "name": "subscriptionId",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The subscription ID which uniquely identify the Microsoft Azure subscription. The subscription ID forms part of the URI for every service call."
+ },
+ "ApiVersionParameter": {
+ "name": "api-version",
+ "in": "query",
+ "required": true,
+ "type": "string",
+ "description": "Client API version."
+ }
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/device.json
new file mode 100644
index 000000000000..2e2b87d45439
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-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": "2020-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 hybrid network device.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "deviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid network device."
+ },
+ {
+ "$ref": "./common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The operation was 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 successful. Resource with specified name does not exist."
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Delete hybrid network 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 hybrid network device.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "deviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of hybrid network device."
+ },
+ {
+ "$ref": "./common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns the resulting hybrid network device resource.",
+ "schema": {
+ "$ref": "#/definitions/Device"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get hybrid network device": {
+ "$ref": "./examples/DeviceGet.json"
+ }
+ }
+ },
+ "put": {
+ "tags": [
+ "Devices"
+ ],
+ "operationId": "Devices_CreateOrUpdate",
+ "description": "Creates or updates a hybrid network device.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "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 hybrid network device operation."
+ },
+ {
+ "$ref": "./common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Create or update successful.",
+ "schema": {
+ "$ref": "#/definitions/Device"
+ }
+ },
+ "201": {
+ "description": "Create or update 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.json#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Create or update hybrid network 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 a hybrid network device tags.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "deviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid network device."
+ },
+ {
+ "name": "parameters",
+ "in": "body",
+ "required": true,
+ "schema": {
+ "$ref": "./common.json#/definitions/TagsObject"
+ },
+ "description": "Parameters supplied to update hybrid network device tags."
+ },
+ {
+ "$ref": "./common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Update successful. The operation returns the resulting hybrid network device resource.",
+ "schema": {
+ "$ref": "#/definitions/Device"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "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 hybrid network devices in a subscription.",
+ "parameters": [
+ {
+ "$ref": "./common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of hybrid network device resources.",
+ "schema": {
+ "$ref": "#/definitions/DeviceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all hybrid network devices in a subscription.": {
+ "$ref": "./examples/DeviceListAll.json"
+ }
+ },
+ "x-ms-pageable": {
+ "nextLinkName": "nextLink"
+ }
+ }
+ },
+ "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.HybridNetwork/devices": {
+ "get": {
+ "tags": [
+ "Devices"
+ ],
+ "operationId": "Devices_ListByResourceGroup",
+ "description": "Lists all the hybrid network devices in a resource group.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "$ref": "./common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "Request successful. The operation returns a list of hybrid network device resources.",
+ "schema": {
+ "$ref": "#/definitions/DeviceListResult"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "List all hybrid network devices in resource group": {
+ "$ref": "./examples/DeviceListAllByResourceGroup.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 hybrid network device.",
+ "parameters": [
+ {
+ "name": "resourceGroupName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the resource group."
+ },
+ {
+ "name": "deviceName",
+ "in": "path",
+ "required": true,
+ "type": "string",
+ "description": "The name of the hybrid network device."
+ },
+ {
+ "$ref": "./common.json#/parameters/ApiVersionParameter"
+ },
+ {
+ "$ref": "./common.json#/parameters/SubscriptionIdParameter"
+ }
+ ],
+ "responses": {
+ "200": {
+ "description": "The registration key information for the hybrid network device.",
+ "schema": {
+ "$ref": "#/definitions/DeviceRegistrationKey"
+ }
+ },
+ "default": {
+ "description": "Error response describing why the operation failed.",
+ "schema": {
+ "$ref": "./common.json#/definitions/ErrorDetails"
+ }
+ }
+ },
+ "x-ms-examples": {
+ "Get hybrid network device registration key": {
+ "$ref": "./examples/DeviceListRegistrationKey.json"
+ }
+ }
+ }
+ }
+ },
+ "definitions": {
+ "Device": {
+ "properties": {
+ "properties": {
+ "x-ms-client-flatten": true,
+ "$ref": "#/definitions/DevicePropertiesFormat",
+ "description": "Hybrid network device properties."
+ }
+ },
+ "allOf": [
+ {
+ "$ref": "./common.json#/definitions/Resource"
+ }
+ ],
+ "description": "Hybrid network device resource."
+ },
+ "DevicePropertiesFormat": {
+ "description": "Hybrid network device properties.",
+ "required": [
+ "deviceType"
+ ],
+ "discriminator": "deviceType",
+ "properties": {
+ "status": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The current device status.",
+ "enum": [
+ "Unknown",
+ "NotRegistered",
+ "Registered"
+ ],
+ "x-ms-enum": {
+ "name": "Status",
+ "modelAsString": true
+ }
+ },
+ "provisioningState": {
+ "readOnly": true,
+ "$ref": "./common.json#/definitions/ProvisioningState",
+ "description": "The provisioning state of the hybrid network device resource."
+ },
+ "deviceType": {
+ "type": "string",
+ "description": "The type of the hybrid network device.",
+ "enum": [
+ "Unknown",
+ "AzureStackEdge"
+ ],
+ "x-ms-enum": {
+ "name": "DeviceType",
+ "modelAsString": true
+ }
+ },
+ "azureStackEdge": {
+ "x-ms-discriminator-value": "AzureStackEdge",
+ "$ref": "./common.json#/definitions/SubResource",
+ "description": "The reference to the azure stack edge device."
+ },
+ "virtualNetworkFunctions": {
+ "readOnly": true,
+ "type": "array",
+ "items": {
+ "$ref": "./common.json#/definitions/SubResource"
+ },
+ "description": "The list of virtual network functions deployed on the hybrid network device."
+ }
+ }
+ },
+ "DeviceRegistrationKey": {
+ "description": "The hybrid network device registration key",
+ "properties": {
+ "registrationKey": {
+ "readOnly": true,
+ "type": "string",
+ "description": "The registration key for hybrid network device."
+ }
+ }
+ },
+ "DeviceListResult": {
+ "properties": {
+ "value": {
+ "type": "array",
+ "items": {
+ "$ref": "#/definitions/Device"
+ },
+ "description": "A list of hybrid network devices."
+ },
+ "nextLink": {
+ "type": "string",
+ "readOnly": true,
+ "description": "The URL to get the next set of results."
+ }
+ },
+ "description": "Response for hybrid network devices API service call."
+ }
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/CreateVendorSkuPreview.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/CreateVendorSkuPreview.json
new file mode 100644
index 000000000000..de7af1768144
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/CreateVendorSkuPreview.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-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/2020-01-01-preview/examples/DeleteVendorSkuPreview.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeleteVendorSkuPreview.json
new file mode 100644
index 000000000000..618a390d74e2
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeleteVendorSkuPreview.json
@@ -0,0 +1,14 @@
+{
+ "parameters": {
+ "api-version": "2020-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/2020-01-01-preview/examples/DeviceCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceCreate.json
new file mode 100644
index 000000000000..3b4cabc40640
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceCreate.json
@@ -0,0 +1,53 @@
+{
+ "parameters": {
+ "api-version": "2020-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"
+ },
+ "virtualNetworkFunctions": 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"
+ },
+ "virtualNetworkFunctions": null
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceDelete.json
new file mode 100644
index 000000000000..dae46cbb80b4
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceDelete.json
@@ -0,0 +1,13 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "deviceName": "TestDevice"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json
new file mode 100644
index 000000000000..47df323a3673
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceGet.json
@@ -0,0 +1,31 @@
+{
+ "parameters": {
+ "api-version": "2020-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"
+ },
+ "virtualNetworkFunctions": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAll.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAll.json
new file mode 100644
index 000000000000..673abf63ec08
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAll.json
@@ -0,0 +1,34 @@
+{
+ "parameters": {
+ "api-version": "2020-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"
+ },
+ "virtualNetworkFunctions": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAllByResourceGroup.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAllByResourceGroup.json
new file mode 100644
index 000000000000..758b069ac135
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListAllByResourceGroup.json
@@ -0,0 +1,35 @@
+{
+ "parameters": {
+ "api-version": "2020-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"
+ },
+ "virtualNetworkFunctions": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction"
+ }
+ ]
+ }
+ }
+ ],
+ "nextLink": "string"
+ }
+ }
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListRegistrationKey.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListRegistrationKey.json
new file mode 100644
index 000000000000..bc8ab344a835
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceListRegistrationKey.json
@@ -0,0 +1,15 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01-preview",
+ "subscriptionId": "subid",
+ "resourceGroupName": "rg1",
+ "deviceName": "TestDevice"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "registrationKey": "TestRegistartionKey"
+ }
+ }
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json
new file mode 100644
index 000000000000..ae7e1e586e9b
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/DeviceUpdateTags.json
@@ -0,0 +1,41 @@
+{
+ "parameters": {
+ "api-version": "2020-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"
+ },
+ "virtualNetworkFunctions": [
+ {
+ "id": "/subscriptions/subid/resourcegroups/rg1/providers/Microsoft.HybridNetwork/virtualNetworkFunctions/TestVirtualNetworkFunction"
+ }
+ ]
+ }
+ }
+ }
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json
new file mode 100644
index 000000000000..96a50bbecce7
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetOperations.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "location": "westus",
+ "api-version": "2020-01-01-preview",
+ "subscriptionId": "subid"
+ },
+ "responses": {
+ "200": {
+ "body": {
+ "value": [
+ {
+ "name": "Microsoft.HybridNetwork/vnfs/read",
+ "display": {
+ "provider": "Microsoft Hybrid Network",
+ "resource": "Vnf",
+ "operation": "Get Vnf",
+ "description": "Gets Vnf"
+ }
+ }
+ ]
+ }
+ }
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreview.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreview.json
new file mode 100644
index 000000000000..27799fcaf1aa
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreview.json
@@ -0,0 +1,18 @@
+{
+ "parameters": {
+ "api-version": "2020-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/2020-01-01-preview/examples/GetVendorSkuPreviews.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreviews.json
new file mode 100644
index 000000000000..1509775280a1
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/GetVendorSkuPreviews.json
@@ -0,0 +1,26 @@
+{
+ "parameters": {
+ "api-version": "2020-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/2020-01-01-preview/examples/VendorCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorCreate.json
new file mode 100644
index 000000000000..4e4e33340954
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorCreate.json
@@ -0,0 +1,30 @@
+{
+ "parameters": {
+ "api-version": "2020-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/2020-01-01-preview/examples/VendorDelete.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorDelete.json
new file mode 100644
index 000000000000..9d6104c74403
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorDelete.json
@@ -0,0 +1,12 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01-preview",
+ "subscriptionId": "subid",
+ "vendorName": "TestVendor"
+ },
+ "responses": {
+ "200": {},
+ "202": {},
+ "204": {}
+ }
+}
diff --git a/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorGet.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorGet.json
new file mode 100644
index 000000000000..ac2a0a656c7e
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorGet.json
@@ -0,0 +1,24 @@
+{
+ "parameters": {
+ "api-version": "2020-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/2020-01-01-preview/examples/VendorListAll.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorListAll.json
new file mode 100644
index 000000000000..7d1446d83b9e
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorListAll.json
@@ -0,0 +1,40 @@
+{
+ "parameters": {
+ "api-version": "2020-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/2020-01-01-preview/examples/VendorSkuCreate.json b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuCreate.json
new file mode 100644
index 000000000000..1402c9d87fe5
--- /dev/null
+++ b/specification/hybridnetwork/resource-manager/Microsoft.HybridNetwork/preview/2020-01-01-preview/examples/VendorSkuCreate.json
@@ -0,0 +1,197 @@
+{
+ "parameters": {
+ "api-version": "2020-01-01-preview",
+ "subscriptionId": "subid",
+ "vendorName": "TestVendor",
+ "skuName": "TestSku",
+ "parameters": {
+ "properties": {
+ "deploymentMode": "PrivateEdgeZone",
+ "preview": true,
+ "managedApplicationTemplate": {},
+ "virtualNetworkFunctionTemplate": {
+ "virutalNetworkFunctionRoleConfigurations": [
+ {
+ "roleName": "test",
+ "roleType": "VirtualMachine",
+ "virtualMachineSize": "Standard_D3_v2",
+ "imageReference": {
+ "osType": "Linux",
+ "vhdName": "vhdName",
+ "vhdType": "VHD",
+ "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=Z&sv=&sr=b&sig="
+ },
+ "osProfile": {
+ "adminUsername": "dummyuser",
+ "adminPassword": "dummypassword",
+ "sshPublicKey": null
+ },
+ "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": {},
+ "virtualNetworkFunctionTemplate": {
+ "virutalNetworkFunctionRoleConfigurations": [
+ {
+ "roleName": "test",
+ "roleType": "VirtualMachine",
+ "virtualMachineSize": "Standard_D3_v2",
+ "imageReference": {
+ "osType": "Linux",
+ "vhdName": "vhdName",
+ "vhdType": "VHD",
+ "sasUri": "https://.blob.core.windows.net//?sp=rl&st=st>Z&se=